Java 生成Json与解析

在JAVA中构造和解析JSON我用的是org.json,附件为相应的org.json.jar.

下面是两个函数,一个是创建JSON,一个是从文本构造JSON并解析之。

创建json

Java代码   收藏代码
  1. //construct json and output it    
  2. public String jsonTest() throws JSONException{  
  3.     JSONObject json=new JSONObject();  
  4.     JSONArray jsonMembers = new JSONArray();  
  5.     JSONObject member1 = new JSONObject();  
  6.     member1.put("loginname""zhangfan");  
  7.     member1.put("password""userpass");  
  8.     member1.put("email","[email protected]");  
  9.     member1.put("sign_date""2007-06-12");  
  10.     jsonMembers.put(member1);  
  11.   
  12.     JSONObject member2 = new JSONObject();  
  13.     member2.put("loginname""zf");  
  14.     member2.put("password""userpass");  
  15.     member2.put("email","[email protected]");  
  16.     member2.put("sign_date""2008-07-16");  
  17.     jsonMembers.put(member2);  
  18.     json.put("users", jsonMembers);  
  19.   
  20.     return json.toString();  
  21. }  

 解析json 

Java代码   收藏代码
  1. //construct json from String and resolve it.  
  2. public String jsonTest2() throws JSONException{  
  3.     String jsonString="{\"users\":[{\"loginname\":\"zhangfan\",\"password\":\"userpass\",\"email\":\"[email protected]\"},{\"loginname\":\"zf\",\"password\":\"userpass\",\"email\":\"[email protected]\"}]}";  
  4.     JSONObject json= new JSONObject(jsonString);  
  5.     JSONArray jsonArray=json.getJSONArray("users");  
  6.     String loginNames="loginname list:";  
  7.     for(int i=0;i<jsonArray.length();i++){  
  8.         JSONObject user=(JSONObject) jsonArray.get(i);  
  9.         String userName=(String) user.get("loginname");  
  10.         if(i==jsonArray.length()-1){  
  11.             loginNames+=userName;  
  12.         }else{  
  13.             loginNames+=userName+",";  
  14.         }  
  15.     }  
  16.     return loginNames;  
  17. }  

 JAVA中处理JSON还是相当方便的。

你可能感兴趣的:(json)