最近要使用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();
- }
- }
運行結果為:
