1.json資料結構
在json
中有兩種資料結構:物件和陣列。
1.1物件
在json
中,乙個物件以「
」(右括號)結束。每個「名稱」後跟乙個「
:」(冒號),冒號後是該名稱的值,多個「名稱
:值」之間使用
「,」(逗號)分隔開來。名稱需要使用雙引號括起來,值如果是字串則必須用雙引號括起來,如果是數值型則不需要。其結構示意圖如圖
1所示。
圖1 json
物件結構示意圖
如下的**是乙個簡單的json物件示例:
1.2陣列
在json
中,陣列是值(
value
)的有序集合。乙個陣列以「
[」(左中括號)開始,「
]」(右中括號)結束。值之間使用
「,」(逗號)分隔開來。其結構示意圖如圖
2所示。
圖2 json
陣列結構示意圖
如下的**是乙個簡單的
json
陣列示例:
["
蘋果","
香蕉","
菠蘿"]
1.3值的型別
在json
的物件和陣列結構中,
value
值不僅可以是數字、字串等簡單資料型別,還可以是物件、陣列等,如圖
3所示。
圖3 json
中值的型別
因此,我們可以使用物件和陣列的組合構成複雜的資料結構。如下的**使用物件結構定義了乙個「
students
」物件,在「
students
」物件中包含了乙個學生陣列,而學生陣列中的值又是
json
物件。 ,]
}2.在伺服器端生成json資料
通常,客戶端在請求伺服器資料時,伺服器可以使用
xml文件、
json
資料或html
的形式將資料傳送給客戶端。
那麼如何在伺服器端生成
json
資料呢?首先需要完成以下兩個準備工作。 (
1)我們需要使用
myeclipse
建立了乙個
web project
,這裡我將該工程命名為了「
jsondemoproject」
,用來模擬伺服器端的
web服務。 (
2)我們還需要在該工程中匯入
json
的api
資料報json-lib-2.2.2-jdk15.jar。
在json
的api
中,提供了
jsonobject
類,通過呼叫
jsonobject
類的put(object key, object value)
方法,可以將乙個
object
物件以鍵值對的形式存入
jsonobject
物件。通過呼叫
jsonobject
類的tostring()
方法,則可以將
jsonobject
物件轉化為
json
資料。
如下的**建立了乙個
jsontools
類,並實現了靜態方法
createjsonstring()
,用來生成
json
資料。
public class jsontools
}
通過使用該方法,我們可以很方便的將各種資料傳遞進來,並將其轉化成
json
資料。比如,我們可以在
jsonservice
類中,實現乙個簡單的獲取
person
物件列表的方法,具體如下:
/*
* function : 獲取person物件列表
* */
public listgetlistperson()
其中,person
物件具有id(
int)、
name
(string
)和age
(int
)三個屬性。
最後,我們可以建立乙個繼承自
的jsonaction
類,並實現其中的
dopost()
方法,用來響應客戶端對伺服器的請求。具體如下:
Android開發之json解析
現在分析下把我難倒了好幾天的乙個bug,就是json的解析。用到的api 獲得的json 1 16 query good 17 errorcode 0,18 web 19,27,3543 44 通過觀察json發現,既有大括號,又有中括號。1 payload 2 payload q content ...
Android進步之十一 Json解析
json資料格式,在android中廣泛應用於客戶端和網路通訊。參考文件 解析方法 jsonobject demojson new jsonobject jsonstring string url demojson.getstring url 2 解析object之二 解析方法 jsonobject...
android筆記之布局
三個屬性都用來適應檢視的水平或垂直大小,乙個以檢視的內容或尺寸為基礎的布局比精確地指定檢視範圍更加方便。1 fill parent 設定乙個構件的布局為fill parent將強制性地使構件擴充套件,以填充布局單元內盡可能多的空間。這跟windows控制項的dockstyle屬性大體一致。設定乙個頂...