Java创建和读取Json

时间:2022-06-05 05:44:15

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

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

创建json:

//construct json and output it    
public String jsonTest() throws JSONException{  
    JSONObject json=new JSONObject();  
    JSONArray jsonMembers = new JSONArray();  
    JSONObject member1 = new JSONObject();  
    member1.put("loginname", "zhangfan");  
    member1.put("password", "userpass");  
    member1.put("email","10371443@qq.com");  
    member1.put("sign_date", "2007-06-12");  
    jsonMembers.put(member1);  
  
    JSONObject member2 = new JSONObject();  
    member2.put("loginname", "zf");  
    member2.put("password", "userpass");  
    member2.put("email","8223939@qq.com");  
    member2.put("sign_date", "2008-07-16");  
    jsonMembers.put(member2);  
    json.put("users", jsonMembers);  
  
    return json.toString();  
}

 

解析Json:

//construct json from String and resolve it.
public String jsonTest2() throws JSONException{
    String jsonString="{\"users\":[{\"loginname\":\"zhangfan\",\"password\":\"userpass\",\"email\":\"10371443@qq.com\"},{\"loginname\":\"zf\",\"password\":\"userpass\",\"email\":\"822393@qq.com\"}]}";
    JSONObject json= new JSONObject(jsonString);
    JSONArray jsonArray=json.getJSONArray("users");
    String loginNames="loginname list:";
    for(int i=0;i<jsonArray.length();i++){
        JSONObject user=(JSONObject) jsonArray.get(i);
        String userName=(String) user.get("loginname");
        if(i==jsonArray.length()-1){
            loginNames+=userName;
        }else{
            loginNames+=userName+",";
        }
    }
    return loginNames;
}
jar包: json.jar