JSONObject和JSONArray的基本使用

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":"佩奇"}

補充

1.JavaScript中獲取JSONObject對象元素

student = {"name":"小明","sno":"20160000"}

例如獲取姓名student.name

2.JavaScript中獲取JSONArray對象元素

示例

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

相關文章
相關標籤/搜索