JSONObject和JSONArray區別及基本用法
一、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當成一般的陣列來對待,只是獲取的資料內資料的方法不一樣
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();
}