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. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值