java操作Json数据

来源:互联网 发布:动态桌面软件下载 编辑:程序博客网 时间:2024/04/29 14:26
最近要使用java来操作Json数据,虽然Json用过几次,但一直没有好好总结,趁这次来总结一下java操作Json数据。Java操作Json有很多工具包,地址为http://www.json.org/,可以自己上去挑选。

     这里我使用第一个org.json,最新源码地址为:https://github.com/douglascrockford/JSON-java,可以自己去下载,我也会在附件上传。下载源码后放进工程即可,包名为org.json

我们要操作的Json数据如下:
{"total":2,"class":"二年级","members":[{"age":18,"name":"李小红","score":95},{"age":28,"name":"王尼玛","score":85}]}

  我们先用CreateJson()方法生成Json数据,然后把所有属性都解析出来。
  1. package Myclass;  
  2.   
  3. import org.json.JSONArray;  
  4. import org.json.JSONObject;  
  5.   
  6. public class Test {  
  7.   
  8.     public static void main(String[] args) {  
  9.         //解析Json--传入Json字符串  
  10.         JSONObject my_json=new JSONObject(CreateJson());          
  11.         int total=my_json.getInt("total");  
  12.         System.out.println("总数为:"+total);       
  13.           
  14.         String class_name=my_json.getString("class");  
  15.         System.out.println("班级为:"+class_name);  
  16.           
  17.         JSONArray members=my_json.getJSONArray("members");  
  18.         for(int i=0;i<members.length();i++)  
  19.         {  
  20.             JSONObject member=(JSONObject)members.get(i);  
  21.             System.out.println("姓名:"+member.getString("name")+" 年龄:"+member.getInt("age")  
  22.                     +" 成绩:"+member.getInt("score"));  
  23.         }  
  24.           
  25.     }  
  26.       
  27.     public static String CreateJson()  
  28.     {  
  29.         JSONObject my_json=new JSONObject();  
  30.         my_json.put("class", "二年级");  
  31.         my_json.put("total", 2);  
  32.       
  33.         JSONArray members=new JSONArray();  
  34.         //第一个同学  
  35.         JSONObject member1=new JSONObject();  
  36.         member1.put("name", "李小红");  
  37.         member1.put("age", 18);  
  38.         member1.put("score", 95);  
  39.         members.put(member1);  
  40.         //第二个同学  
  41.         JSONObject member2=new JSONObject();  
  42.         member2.put("name", "王尼玛");  
  43.         member2.put("age", 28);  
  44.         member2.put("score", 85);  
  45.         members.put(member2);         
  46.         my_json.put("members", members);  
  47.           
  48.         return my_json.toString();  
  49.     }  
  50.   
  51. }  
复制代码
运行结果为:
0 0
原创粉丝点击