1、JSONObject和JSONArray的數據表示形式json
JSONObject的數據是用 { } 來表示的,數組
例如: { "name" : "佩奇", "weight" : 50 } url
而JSONArray,顧名思義是由JSONObject構成的數組,用 [ { } , { } , ...... , { },"字符串" ] 來表示spa
例如: [ { "name" : "佩奇", "weight" : 50 } , { "name" : "麥兜", "weight" : 50 ,"height" : 180} ,"小豬信息"] ; code
表示了包含2個JSONObject的JSONArray。對象
能夠看到一個很明顯的區別,一個用的是 { } ,一個最外面用的是 [ ] ;blog
2、JSONObject添加元素put(key,value)方法和調用元素方法get(key)ip
1.put(key,value)方法ci
put(key,value)其中key是鍵名,通常爲字符串,用於調用後邊的value,字符串
value的值爲String或JSONObject或JSONArray對象
2.get(key)
get(key),key爲鍵名
getJSONObject(key),key爲鍵名,返回JSONObject對象
getJSONArray(key),key爲鍵名,返回JSONArray對象
實例以下
JSONObject student = new JSONObject(); /* * put(key,value)其中key是鍵名,通常爲字符串,用於調用後邊的value, * value的值爲String或JSONObject或JSONArray對象 */ //put(key,value)添加String對象 student.put("name", "小明"); student.put("sno", "20160000"); JSONObject address = new JSONObject(); address.put("city", "石家莊市"); address.put("country", "長安區"); //put(key,value)添加JSONObject對象 student.put("address", address); JSONArray family = new JSONArray(); JSONObject father = new JSONObject(); father.put("name", "小明老爸"); father.put("age", 40); JSONObject mother = new JSONObject(); mother.put("name","小明老媽"); mother.put("age",41); /*add(value)是JSONArray對象添加元素方法 * value能夠是String和JSONObject對象或JSONArray對象 */ family.add(father); family.add(mother); //put(key,value)添加JSONArray對象 student.put("family", family); /* * JSONObject對象調用元素用get(key)方法 * key爲鍵名 */ System.out.println(student.get("name")); //輸出結果 小明 System.out.println(student.get("sno")); //輸出結果 20160000 /* * JSONObject對象(jsonObject)調用JSONObject對象元素(兩種方法) * 1.jsonObject.getJSONObject(key),key爲鍵名,返回JSONObject對象 * 2.(JSONObject)jsonObject.get(key),key爲鍵名,得到JSONObject對象 * */ System.out.println(student.getJSONObject("address")); System.out.println((JSONObject)student.get("address")); //以上兩種獲取結果相同都是 //{"city":"石家莊市","country":"長安區"} /* * JSONObject對象(jsonObject)調用JSONArray對象元素(兩種方法) * 1.getJSONArray(key),key是鍵名,返回JSONArray對象 * 2.(JSONArray)jsonArray.get(key),key是鍵名,獲取JSONArray對象 */ System.out.println(student.getJSONArray("family")); System.out.println((JSONArray)student.get("family")); //以上兩種獲取結果相同都是 //[{"name":"小明老爸","age":40},{"name":"小明老媽","age":41}]
3、如何從JSONArray添加元素方法add(value)和調用元素的方法get(i)
1.add(value)方法
value能夠是String對象,JSONArray對象,JSONObject對象
2.get(i)方法
i是元素下標,從0開始
3.getJSONObject(i)方法
獲取JSONObject對象元素,i是元素下標,從0開始
3.getJSONArray(i)方法
獲取JSONArray對象元素,i是元素下標,從0開始
示例以下
JSONArray pigs = new JSONArray(); JSONObject pig1 = new JSONObject(); pig1.put("name", "佩奇"); JSONObject pig2 = new JSONObject(); pig2.put("name", "豬豬俠"); pigs.add("八戒"); pigs.add(pig1); pigs.add(pig2); /* * 這樣構造的JSONArray對象以下 * ["八戒",{"name":"佩奇"},{"name":"豬豬俠"}] */ System.out.println(pigs.get(0)); //結果爲 八戒 //由於JSONArray對象pigs的第二個元素類型是JSONObject,因此能夠使用getJSONObject(key)方法 System.out.println(pigs.getJSONObject(1)); //結果以下 //{"name":"佩奇"}
補充
student = {"name":"小明","sno":"20160000"}
例如獲取姓名student.name
示例
family = [{"name":"小明老爸","age":40},{"name":"小明老媽","age":41}]
獲取第一個元素:{"name":"小明老爸","age":40}
family[0]
JSONObject和JSONArray所需j所有Jar包連接
https://pan.baidu.com/share/init?surl=RPmxNKqmjRjzn9P3NFVKAg
提取碼:uhw1
若有疑問,聯繫做者qq:2210756109