Java操作Json陣列
阿新 • • 發佈:2019-01-10
一、字串與json
字串格式:static String json = "[{'day1':'work','day2':26},{'day1':123,'day2':26}]";
轉換為json陣列
JSONArray jsonArray = JSONArray.fromObject(json);
單個json物件轉換
static String jobj = {'day1': 1, 'day2': 2};
JSONObject obj = JSONObject.fromObject(jobj);
json轉換為java bean
List 轉換成json(Map也可以)JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
List list = new ArrayList();
JsonBean2 jb1 = new JsonBean2();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue("xx");
JsonBean2 jb2 = new JsonBean2();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue("");
list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);
二、遍歷Json陣列
- 輸出每個成員
for(int i=0; i<jsonArray.size(); i++){ System.out.println(jsonArray.get(i)); }
- 獲取每個成員的key及value
JSONObject obj = (JSONObject) jsonArray.get(i); Iterator it = obj.keys(); while (it.hasNext()) { String key = it.next().toString(); System.out.println("key ----- "+key); System.out.println("value ----- "+obj.get(key)); }
三、修改、新增、刪除成員
- 修改
涉及到修改json成員的很少,如果真的要修改的話,個人建議轉為字串然後用replaceAll這個函式進行修改,如果你有更好的建議歡迎給評論。 - 增加
JSONObject obj2 = new JSONObject(); obj2.put("day1", "study"); obj2.put("day2", "2"); jsonArray.add(obj2);
- 刪除
jsonArray.remove(index); jsonArray.subList(fromIndex, toIndex)