JSONArray与JSONObject的区别

一、JSONObject和JSONArray的数据表示形式

JSONObject的数据是用 {  } 来表示的,

        例如:   { "id" : "123", "age" : "12", "name" : "博客园", "time" : 2020-06-06}  

而JSONArray,顾名思义是由JSONObject构成的数组,用  [ { } , { } , ......  , { } ]  来表示

       例如:   [ {  "id" : "123", "age" : "12", "name" : "博客园" }  , {  "id" : ''321", "age" : ''12","name":"csdn" } ] ; 

        表示了包含2个JSONObject的JSONArray。

可以看到一个很明显的区别,一个用的是 {  }  ,一个最外面用的是 [  ]  ;JsonArray包含多个JsonObject

二、如何从字符串String获得JSONObject对象和JSONArray对象

          JSONObject  jsonObject  = new JSONObject ( String  str);

         JSONArray jsonArray = new JSONArray(String    str  ) ;

 

三、如何从JSONArray中获得JSONObject对象(俩种)

       大家可以把JSONArray当成一般的数组来对待,只是获取的数据内数据的方法不一样

       for(int i=0;i<jsonArray .length;i++){

                   JSONObject   jsonObject = (JSONObject)jsonArray.get(i);

                   JSONObject   jsonObject  =  jsonArray.getJSONObject(i) ;  

       }

  两者都可。第一种注意转换 

 

四、获取JSON内的数据(俩种)

      int   id= jsonObject.getInt ( "id" ) ;    //  这里的jid得到的数据就是123.

      String  age=jsonObject.getString( " age") ;   // 这里的age得到的数据就是12

     Strirng age= jsonObject.get("age").toString();

 

 五、一般地 为键值对

                        eg:{  name:"xm", value:"张三"}

                         String jname = null;

                         if(jsonObject.get("name").equals("xm")){

                          jname=jsonObject.get("value").toString();

                        }

                    

 六、 JSON.parse( str )    --> 把字符串转为JSON对象

         JSON.stringify( obj ) -->把对象解析为字符串

七、使用

fastjson,gson,jackson,进行序列化与反序列化

posted @ 2019-05-21 10:25  清华大咖  阅读(8843)  评论(1编辑  收藏  举报