json理解

{
    "error_code":0,
    "message":"12345678",
    "data":[
        {
            "id":1,
            "pro_id":1,
            "activity_id":1,
            "prize_id":0,
            "team_id":1,
            "cid":1,
            "phone":"12332145678",
            "created_at":"2021-11-25 15:13:01",
            "updated_at":"2021-11-25 15:13:01",
            "deleted_at":null,
            "customer":[
                {
                    "id":1,
                    "nickname":"\u5c1a\u5584\u82e5\u6c34\ud83c\udf8b",
                    "head_img":"www.baidu.com"
                }

                              ]
        }, 

{[ {},{} ]}–>思路:第一步看到大括号:JSONObject去解,创建好对应里面的属性的值;第二步看到中括号:JSONArray去解析 对应创建好对应里面的属性值;第三步中括号里面的{},又是一个JSONObject。思路大致如此,强调注意的是,设置的属性值setXxx getXxx必须要和去获得值名称一致,不然会出错!!

//json字符串
String str = EntityUtils.toString(response.getEntity());
 //json字符串转json对象
JSONObject jsonObject = JSON.parseObject(str);
//从json对象取出data值,看到[]用JSONArray
JSONArray data = jsonObject.getJSONArray("data");
          //多数据的话,遍历data
          for (int i = 0; i < data.size(); i++) {
          //获取对象,看到{}用getJSONObject
           JSONObject dataObject1 = data.getJSONObject(i);(Json对象          //json对象转化为json字符串
          String s = JSON.toJSONString(dataObject1);
          //json字符串放入到user对象中(提前建user实体类) 
          user = JSON.parseObject(s, User.class);
          //从json对象取出customer值,看到[]用JSONArray
          JSONArray data1 = jsonObject1.getJSONArray("customer");
                          for (int i1 = 0; i1 < data1.size(); i1++) {
                           //获取对象,看到{}用getJSONObject
                          JSONObject ddataObject2 =  data.getJSONObject(i);
                           //json对象转化为json字符串
                       ​   String s = JSON.toJSONString(dataObject1);  
                           //json字符串放入到user对象中(提前建customer实体类) 
                          customer = JSON.parseObject(s, Customer.class);
}
user.setCustomerList(list);
userList.add(user);
customerList.add(customer);
}

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值