JSONArray与JSONObject的区别与使用

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

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

{
    
    
    "id":"123",
    "courseID":"huangt-test",
    "title":"提交作业",
    "content":null
}

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

[
    {
    
    
        "id":"123",
        "courseID":"huangt-test",
        "title":"提交作业"
    },
    {
    
    
        "content":null,
        "beginTime":1398873600000,
        "endTime":"1"
    }
]
    表示了包含2个JSONObject的JSONArray。

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

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

  JSONObject  jsonObject  = new JSONObject(String str);
  JSONArray jsonArray = new JSONArray(String str);

三、如何从JSONArray中获得JSONObject对象

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

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

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

四、获取JSON内的数据

int   jid= jsonObject.getInt ( "id" ) ;    //  这里的jid得到的数据就是123.
String  jcourse=jsonObject.getString( "courseID") ;   // 这里的jcourse得到的数据就是huangt-test.
Strirng jcourse = jsonObject.get("courseID").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 ) -->把对象解析为字符串

猜你喜欢

转载自blog.csdn.net/weixin_42119415/article/details/104352720