JSONArray和JSONObject的区别
区别是JSONObject是一个对象,JSONArray是一个数组。
具体步骤如下:
JSONObject是一个{}包裹起来的一个对象(Object),而JSONArray则是[]包裹起来的一个数组(Array)。
JSONObjec 有键名,JSONArray没有。
所以解析的时候JSONObject是JSONObject.getString("对象"),而JSONArray是JSONArray.getString(下标),其中这个数字是位置。
遍历方法
JSONArray
// 一个未转化的字符串
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ;
// 首先把字符串转成 JSONArray 对象
JSONArray json = JSONArray.fromObject(str );
if(json.size()>0){
for(int i=0;i<json.size();i++){
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
JSONObject job = json.getJSONObject(i);
// 得到 每个对象中的属性值
System.out.println(job.get("name")+"=") ;
}
}
JSONObject
SONObject jsonObject = new JSONObject(s);
//然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中
JSONObject jsonObject = new JSONObject(jsonString);
Iterator iterator = jsonObject.keys();
while(iterator.hasNext()){
key = (String) iterator.next(); value = jsonObject.getString(key);
}