JSON数据一直都是很头疼的事情,今天将我看到的做一个记录,方便以后的查看。
1、遍历jsonArray
// 一个未转化的字符串
String str = "[{name:'a',age:'18'},{name:'b',age:'18'},{name:'c',age:'20'},{name:'d',age:'16'}]" ;
// 首先把字符串转成 JSONArray 对象
JSONArray json = JSONArray.fromObject(str );
//for循环处理
if (jsonArray.size() > 0) {
for (int i = 0; i < jsonArray.size(); i++) {
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
JSONObject jsob = jsonArray.getJSONObject(i);
// 得到 每个对象中的属性值,并将其封装在我们的实体类中
System.out.println(jsob.get("name") + "=");
}
}
//利用Iterator迭代器来遍历(遍历对象,所以只能将其强转为JSONObject)
Iterator<Object> iterator = jsonArray.iterator();
while (iterator.hasNext()) {
//强转为JSONObject
JSONObject jsob = (JSONObject) iterator.next();
jsob.getString("name");
}
2、遍历jsonObject
在上面的方法中已经涉及到了这个的遍历
JSONObject 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);
}