JSON,JSONObject和JSONArray总结

 一 JSON

   JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。这篇文章主要从以下几个方面来说明JSON。

JSON有两种表示结构,对象和数组。
对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。其中key是字符串,而value可以是字符串,数值,true,false,null,对象或数组

{

    key1:value1,
    key2:value2,
    ...
}
数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。

[

  {

    key1:value1,

    key2:value2

  },
  {
    key3:value3,
    key4:value4  
  }
]
json对象和json字符串 有待研究

二 数据表现形式(JSONObject,JSONArray)

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

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

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

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

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

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

  JSONObject  jsonObject  = new JSONObject ( String  str);

  JSONArray jsonArray = new JSONArray(String str ) ;

 

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

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

   JSONArray jsonArray = (JSONArray) jsonObject.get("content");
  for (int i = 0; i < jsonArray.size(); i++) {
     //第一种
    JSONObject jsonObject = (JSONObject)jsonArray.get(i);
     String status = String.valueOf(jsonObject1.get("status"));
     //第二种
JSONObject jsonObject = jsonArray.getJSONObject(i) ;
     String status = String.valueOf(jsonObject1.get("status"));
    }
两者都可。第一种注意转换 



posted on 2020-03-19 17:00  shenhaha  阅读(956)  评论(0编辑  收藏  举报

有用的话麻烦点个推荐哈