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. }  
復制代碼

運行結果為:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM