{
"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); }