Java操作Json数组

来源:互联网 发布:挂号网软件 编辑:程序博客网 时间:2024/05/16 10:43

一、字符串与json

字符串格式:
[java] view plain copy
  1. static String json = "[{'day1':'work','day2':26},{'day1':123,'day2':26}]";  
转换为json数组
[java] view plain copy
  1. JSONArray jsonArray = JSONArray.fromObject(json);  
单个json对象转换
[java] view plain copy
  1. static String jobj = {'day1'1'day2'2};  
[java] view plain copy
  1. JSONObject obj = JSONObject.fromObject(jobj);  

json转换为Javabean

[java] view plain copy
  1. JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  
List 转换成json(Map也可以)
[java] view plain copy
  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. 输出每个成员
    [java] view plain copy
    1. for(int i=0; i<jsonArray.size(); i++){  
    2.     System.out.println(jsonArray.get(i));  
    3. }  

  2. 获取每个成员的key及value
    [java] view plain copy
    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. 增加
    [java] view plain copy
    1. JSONObject obj2 = new JSONObject();  
    2. obj2.put("day1""study");  
    3. obj2.put("day2""2");  
    4. jsonArray.add(obj2);  


  3. 删除
    [java] view plain copy
    1. jsonArray.remove(index);  
    2. jsonArray.subList(fromIndex, toIndex)