首页 > 代码库 > Json生成与解析

Json生成与解析

 

JSON常用与服务器进行数据交互,JSON中“{}”表示JSONObject,“[]”表示JSONArray

如下json数据:

1  {"singers":[
2 {"id":"02","name":"tom","gender":"男","tel":["123456","789012"]},
3 {"id":"03","name":"jerry","gender":"男","tel":["899999","666666"]},
4 {"id":"04","name":"jim","gender":"男","tel":["7777","5555"]},{"id":"05","name":"lily","gender":"女","tel":["222222","111111"]}
5 ]}

 

生成json数据代码:

 1 public String buildJson() throws JSONException {
 2 
 3         JSONObject persons = new JSONObject();
 4 
 5         JSONArray personArr = new JSONArray();
 6 
 7         JSONObject person = new JSONObject();
 8         person.put("id", "02");
 9         person.put("name", "tom");
10         person.put("gender", "男");
11 
12         JSONArray tel = new JSONArray();
13         tel.put("123456");
14         tel.put("789012");
15 
16         person.put("tel", tel);
17 
18         personArr.put(person);
19 
20         JSONObject person2 = new JSONObject();
21         person2.put("id", "03");
22         person2.put("name", "jerry");
23         person2.put("gender", "男");
24 
25         JSONArray tel2 = new JSONArray();
26         tel2.put("899999");
27         tel2.put("666666");
28 
29         person2.put("tel", tel2);
30 
31         personArr.put(person2);
32 
33 
34         JSONObject person3 = new JSONObject();
35         person3.put("id", "04");
36         person3.put("name", "jim");
37         person3.put("gender", "男");
38 
39         JSONArray tel3 = new JSONArray();
40         tel3.put("7777");
41         tel3.put("5555");
42 
43         person3.put("tel", tel3);
44 
45         personArr.put(person3);
46 
47 
48         JSONObject person4 = new JSONObject();
49         person4.put("id", "05");
50         person4.put("name", "lily");
51         person4.put("gender", "女");
52 
53         JSONArray tel4 = new JSONArray();
54         tel4.put("222222");
55         tel4.put("111111");
56 
57         person4.put("tel", tel4);
58 
59         personArr.put(person4);
60 
61 
62         persons.put("singers", personArr);
63 
64 
65         return persons.toString();
66     }

 

解析json数据代码:

 1  private void parseJsonMulti(String strResult) {
 2         try {
 3             JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers");
 4             String s = "";
 5 
 6             for (int i = 0; i < jsonObjs.length(); i++) {
 7                 JSONObject jsonObj = ((JSONObject) jsonObjs.opt(i));
 8                 int id = jsonObj.getInt("id");
 9                 String name = jsonObj.getString("name");
10                 String gender = jsonObj.getString("gender");
11                 s += "ID号" + id + ", 姓名:" + name + ",性别:" + gender + ",电话:";
12                 JSONArray tel = jsonObj.getJSONArray("tel");
13                 for (int j = 0; j < tel.length(); j++) {
14 
15                     s += tel.getString(j)+"/";
16                 }
17 
18                 s += "\n";
19 
20             }
21             tv.setText(s);
22         } catch (JSONException e) {
23             e.printStackTrace();
24         }
25     }

 

Json生成与解析