在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;
- }
JAVA中处理JSON还是相当方便的。