org.json.jsonArray遍历取值

org.json.jsonArray遍历取值

JSONArray json = [{...},{...},{...}];

for (int i = 0; i < json.length(); i++) {

JSONObject jsonObj = json.getJSONObject(i);

String id = jsonObj.getString("ID");

String name = jsonObj.getString("name");

...

}

JSONArray的遍历,并修改josn对象中的值

  1. JSONArray taskContentArr = taskContentObj.getJSONArray("ops");

  2. for(int i=0;i

  3. // 遍历 jsonarray 数组,把每一个对象转成 json 对象

  4. JSONObject insertObj = taskContentArr.getJSONObject(i);

  5. try {

  6. JSONObject imageObj = insertObj.getJSONObject("insert");

  7. if (imageObj.containsKey("image")) {

  8. String imagePath = imageObj.getString("image");

  9. String fileName = imagePath.substring(imagePath.lastIndexOf("/") + 1);

  10. imageObj.put("image", fileName);

  11. }

  12. } catch (Exception e) {

  13. }

  14. }

替换JSONArray中指定字段名称的值value

忽略JSONObject中指定字段名称大小写,依旧可以替换该字段对应的值。

即:指定的字段名称和输出的字段名称大小写不一致,但依旧可以替换该字段名称的值,替换后按原来字段输出

/**

*inputParam jsonArray中jsonobject的key的名称,inputParam名字忽略大小写

*paramValue 要修改inputParam原来对应的值,将原来的值改成paramValue

*/

public static JSONArray replaceValue2JSONArray(JSONArray array,String inputParam,String paramValue) {
JSONArray jsonArray = new JSONArray();
if (array == null || array.isEmpty()) {
return jsonArray;
}

for (int i = 0; i < array.size(); i++) {
JSONObject jsonObject2 = array.getJSONObject(i);

Set keys = jsonObject2.keySet();
for (String curKey : keys) {
if (curKey.equalsIgnoreCase(inputParam)) {
jsonObject2.put(curKey, paramValue) ;
}
}
jsonArray.add(jsonObject2);

}

return jsonArray;
}

一:遍历JsonArray

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一个未转化的字符串

JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray 对象

if(json.size()>0){
for(int i=0;i
JSONObject job = json.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
System.out.println(job.get("name")+"=") ; // 得到 每个对象中的属性值
}
}

二:遍历JsonObject

JSONObject jsonObject = new JSONObject(jsonString);
Iterator iterator = jsonObject.keys();
while(iterator.hasNext()){
key = (String) iterator.next();
value = jsonObject.getString(key);
}