java操作Json数据
最近要使用java来操作Json数据,虽然Json用过几次,但一直没有好好总结,趁这次来总结一下java操作Json数据。Java操作Json有很多工具包,地址为http://www.json.org/,可以自己上去挑选。
这里我使用第一个org.json,最新源码地址为:https://github.com/douglascrockford/JSON-java,可以自己去下载,我也会在附件上传。下载源码后放进工程即可,包名为org.json
这里我使用第一个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数据,然后把所有属性都解析出来。
- package Myclass;
- import org.json.JSONArray;
- import org.json.JSONObject;
- public class Test {
- public static void main(String[] args) {
- //解析Json--传入Json字符串
- JSONObject my_json=new JSONObject(CreateJson());
- int total=my_json.getInt("total");
- System.out.println("总数为:"+total);
- String class_name=my_json.getString("class");
- System.out.println("班级为:"+class_name);
- JSONArray members=my_json.getJSONArray("members");
- for(int i=0;i<members.length();i++)
- {
- JSONObject member=(JSONObject)members.get(i);
- System.out.println("姓名:"+member.getString("name")+" 年龄:"+member.getInt("age")
- +" 成绩:"+member.getInt("score"));
- }
- }
- public static String CreateJson()
- {
- JSONObject my_json=new JSONObject();
- my_json.put("class", "二年级");
- my_json.put("total", 2);
- JSONArray members=new JSONArray();
- //第一个同学
- JSONObject member1=new JSONObject();
- member1.put("name", "李小红");
- member1.put("age", 18);
- member1.put("score", 95);
- members.put(member1);
- //第二个同学
- JSONObject member2=new JSONObject();
- member2.put("name", "王尼玛");
- member2.put("age", 28);
- member2.put("score", 85);
- members.put(member2);
- my_json.put("members", members);
- return my_json.toString();
- }
- }
运行结果为: