Json 生成与解析详解及实例代码


这篇文章主要介绍了Json 生成与解析详解及实例代码的相关资料,这里附简单实例帮助大家学习理解,需要的朋友可以参考

Json 生成与解析

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

如下json数据:

?
1
2
3
4
5
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 ]}<br>

生成json数据代码:

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

解析json数据代码:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值