Java操作Json陣列

ldear發表於2017-09-05

一、字串與json

字串格式:
  1. static String json = "[{'day1':'work','day2':26},{'day1':123,'day2':26}]";  
轉換為json陣列
  1. JSONArray jsonArray = JSONArray.fromObject(json);  
單個json物件轉換
  1. static String jobj = {'day1'1'day2'2};  
  1. JSONObject obj = JSONObject.fromObject(jobj);  

json轉換為Java bean

  1. JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  
List 轉換成json(Map也可以)
  1. List list = new ArrayList();  
  2. JsonBean2 jb1 = new JsonBean2();  
  3. jb1.setCol(1);  
  4. jb1.setRow(1);  
  5. jb1.setValue("xx");  
  6.   
  7. JsonBean2 jb2 = new JsonBean2();  
  8. jb2.setCol(2);  
  9. jb2.setRow(2);  
  10. jb2.setValue("");  
  11.   
  12. list.add(jb1);  
  13. list.add(jb2);  
  14. JSONArray ja = JSONArray.fromObject(list);  


二、遍歷Json陣列

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

  2. 獲取每個成員的key及value
    1. JSONObject obj = (JSONObject) jsonArray.get(i);  
    2.     Iterator it = obj.keys();  
    3.     while (it.hasNext()) {  
    4.       String key = it.next().toString();  
    5.       System.out.println("key ----- "+key);  
    6.       System.out.println("value ----- "+obj.get(key));  
    7. }  

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

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


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

相關文章