JSONObject
JSONObject的數據是用 { } 來表示的。
例如:{"id":"123","name":"cor"...}
JSONArray
JSONArray是由JSONObject構成的數組,用 [ { } , { } , ...... , { } ] 來表示。
例如:[{"name":"女","number":"17,001","value":63.72},{"name":"男","number":"4,362","value":16.35},{"name":"未知","number":"5,317","value":19.93}]
從字符串String獲取JSONObject對象和JSONArray對象
JSONObject obj= new JSONObject (String str);
JSONArray ary = new JSONArray(String str ) ;
如何從JSONArray中獲得JSONObject對象
JSONObject obj= jsonArray.getJSONObject(n); //n在數組中的位置,是從0開始;
獲取JSON內的數據
int data=jsonObject.getInt(key);//如果key值對應的value是int類型時;
String str= jsonObject.getSring(key);//如果key值對應的value是String類型時;
例子:
import org.json.*;
import java.io.IOException;
int n,i;
String jsonstr="{"code":1,"data":{"column":["女","男","未知"],"columnData":[{"name":"女","number":"17,001","value":63.72},{"name":"男","number":"4,362","value":16.35},{"name":"未知","number":"5,317","value":19.93}]}}";
JSONObject js_obj=new JSONObject(jsonstr);//將字符串轉換成json
JSONArray js_ary=js_obj.get("data").get("columnData");//columnData是一個數組,將它提取出來,並賦給數組對象
n=js_ary.length();//數組的長度
System.out.println(n);
for(i=0;i
{
JSONObject js_data=js_ary.getJSONObject(i);//獲取數組的第i個Json;
System.out.println(js_data.toString());
String name=js_data.getString("name");//獲取提取出來的json中,key值為name的值;
String num=js_data.getString("number");//獲取提取出來的json中,key值為number的值;
Double value=js_data.getDouble("value");//獲取提取出來的json中,key值為value的值;key值為double類型
System.out.println("提取出來的第"+i+"個json的值為:name="+name+" number="+num+" value="+value);
}
運行結果: