json解析与传递

来源:互联网 发布:优化排名工具 编辑:程序博客网 时间:2024/05/22 23:01

创建json

Java代码 
  1. public String jsonTest() throws JSONException{  
  2.     JSONObject json=new JSONObject();  
  3.     JSONArray jsonMembers = new JSONArray();  
  4.     JSONObject member1 = new JSONObject();  
  5.     member1.put("loginname""zhangfan");  
  6.     member1.put("password""userpass");  
  7.     member1.put("email","10371443@qq.com");  
  8.     member1.put("sign_date""2007-06-12");  
  9.     jsonMembers.put(member1);  
  10.   
  11.     JSONObject member2 = new JSONObject();  
  12.     member2.put("loginname""zf");  
  13.     member2.put("password""userpass");  
  14.     member2.put("email","8223939@qq.com");  
  15.     member2.put("sign_date""2008-07-16");  
  16.     jsonMembers.put(member2);  
  17.     json.put("users", jsonMembers);  
  18.   
  19.     return json.toString();  
  20. }  

 解析json

流中获取(如果是以流方式):

            BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream) request.getInputStream()));
            String line = null;
            StringBuffer sb = new StringBuffer();
            while ((line = br.readLine()) != null) {
                sb.append(line);
            }
            //获取名为rules的Json
            JSONObject jsonObject = new JSONObject().getJSONObject(sb.toString());
            //将JSON转化成数组
            JSONArray jsonArray = jsonObject.getJSONArray("Key");

Java代码  (JSON方式)

  1. public String jsonTest2() throws JSONException{  
  2.     String jsonString="{\"users\":[{\"loginname\":\"zhangfan\",\"password\":\"userpass\",\"email\":\"10371443@qq.com\"},{\"loginname\":\"zf\",\"password\":\"userpass\",\"email\":\"822393@qq.com\"}]}";  
  3.     JSONObject json= new JSONObject(jsonString);  
  4.     JSONArray jsonArray=json.getJSONArray("users");  
  5.     String loginNames="loginname list:";  
  6.     for(int i=0;i<jsonArray.length();i++){  
  7.         JSONObject user=(JSONObject) jsonArray.get(i);  
  8.         String userName=(String) user.get("loginname");  
  9.         if(i==jsonArray.length()-1){  
  10.             loginNames+=userName;  
  11.         }else{  
  12.             loginNames+=userName+",";  
  13.         }  
  14.     }  
  15.     return loginNames;  

0 0