1. 程式人生 > >Java操作Json陣列

Java操作Json陣列

一、字串與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

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
List 轉換成json(Map也可以)
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陣列

  1. 輸出每個成員
    		for(int i=0; i<jsonArray.size(); i++){
    			System.out.println(jsonArray.get(i));
    		}

  2. 獲取每個成員的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));
    }

三、修改、新增、刪除成員

  1. 修改
    涉及到修改json成員的很少,如果真的要修改的話,個人建議轉為字串然後用replaceAll這個函式進行修改,如果你有更好的建議歡迎給評論。
  2. 增加
    	JSONObject obj2 = new JSONObject();
    	obj2.put("day1", "study");
    	obj2.put("day2", "2");
    	jsonArray.add(obj2);


  3. 刪除
    	jsonArray.remove(index);
    	jsonArray.subList(fromIndex, toIndex)