java操作Json数据

最近要使用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. }  

复制代码

运行结果为:


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。