使用工具将Json字符串转换成对象
json转对象的地址:http://www.bejson.com/json2javapojo/new/
Maven依赖
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.8</version>
</dependency>
要解析的Json字符串
{\n" +
" \"data\": {\n" +
" \"pageInfo\": {\n" +
" \"isLastPage\": false,\n" +
" \"pageIndex\": 1,\n" +
" \"pageSize\": 2,\n" +
" \"total\": 339,\n" +
" \"pageTotal\": 170,\n" +
" \"lastPage\": false\n" +
" },\n" +
" \"result\": [\n" +
" {\n" +
" \"batchId\": 21,\n" +
" \"tag\": \"2019女装潮流前线\",\n" +
" \"catLeafName\": null,\n" +
" \"catName\": null,\n" +
" \"freeShipment\": null,\n" +
" \"hGoodRate\": null,\n" +
" \"hPayRate30\": null,\n" +
" \"iRfdRate\": null,\n" +
" \"isPrepay\": null,\n" +
" \"itemUrl\": \"https://detail.tmall.com/item.htm?id=569318273772\",\n" +
" \"materialLibType\": null,\n" +
" \"nick\": \"拉夏贝尔官方旗舰\",\n" +
" \"itemId\": null,\n" +
" \"imageUrl\": null,\n" +
" \"provcity\": \"浙江 杭州\",\n" +
" \"ratesum\": null,\n" +
" \"reservePrice\": \"469\",\n" +
" \"sellerId\": 2146742267,\n" +
" \"shopDsr\": null,\n" +
" \"smallImages\": null,\n" +
" \"title\": \"冷淡风裙子女夏季2019新款韩版修身显瘦收腰a字裙条纹短袖连衣裙\",\n" +
" \"userType\": 1,\n" +
" \"volume\": 18,\n" +
" \"zkFinalPrice\": \"299\",\n" +
" \"maxCommissionRate\": \"3.25\",\n" +
" \"couponStartTime\": \"2019-05-29\",\n" +
" \"couponEndTime\": \"2019-06-18\",\n" +
" \"couponInfo\": \"满100元减20元\",\n" +
" \"irfdRate\": null,\n" +
" \"hgoodRate\": null,\n" +
" \"hpayRate30\": null\n" +
" },\n" +
" {\n" +
" \"batchId\": 21,\n" +
" \"tag\": \"2019女装潮流前线\",\n" +
" \"catLeafName\": null,\n" +
" \"catName\": null,\n" +
" \"freeShipment\": null,\n" +
" \"hGoodRate\": null,\n" +
" \"hPayRate30\": null,\n" +
" \"iRfdRate\": null,\n" +
" \"isPrepay\": null,\n" +
" \"itemUrl\": \"https://detail.tmall.com/item.htm?id=586964942389\",\n" +
" \"materialLibType\": null,\n" +
" \"nick\": \"拉夏贝尔官方旗舰\",\n" +
" \"itemId\": null,\n" +
" \"imageUrl\": null,\n" +
" \"provcity\": \"浙江 杭州\",\n" +
" \"ratesum\": null,\n" +
" \"reservePrice\": \"369\",\n" +
" \"sellerId\": 2146742267,\n" +
" \"shopDsr\": null,\n" +
" \"smallImages\": null,\n" +
" \"title\": \"千鸟格短裙包臀A字裙2019夏季新款女装ins风高腰一片式绑带半身裙\",\n" +
" \"userType\": 1,\n" +
" \"volume\": 18,\n" +
" \"zkFinalPrice\": \"169\",\n" +
" \"maxCommissionRate\": \"3.25\",\n" +
" \"couponStartTime\": \"2019-05-29\",\n" +
" \"couponEndTime\": \"2019-06-18\",\n" +
" \"couponInfo\": \"满100元减20元\",\n" +
" \"irfdRate\": null,\n" +
" \"hgoodRate\": null,\n" +
" \"hpayRate30\": null\n" +
" }\n" +
" ]\n" +
" },\n" +
" \"status\": 1000,\n" +
" \"message\": \"操作成功!\",\n" +
" \"serverTime\": 1559629784242\n" +
"}";
解析成对象和list
@Test
public void test(){
// 解析
JSONObject jsonObject = JSON.parseObject(json);
String resultsJson = jsonObject.getString("data");
JSONObject resultJson = JSON.parseObject(resultsJson);
/**
* TODO 以下是使用的Maven依赖为1.2.8
* TODO toJavaList方法没有啦
* 解析成list
*/
String resultArray = resultJson.getString("result");
List<Result> results = JSONObject.parseArray(resultArray, Result.class);
/**
* TODO 以下是使用的Maven依赖为1.2.58
*/
// List<Result> weatherData = resultArray.toJavaList(Result.class);
// System.out.println(weatherData);
// 解析分页数据【解析成对象】
JSONObject pageInfo = (JSONObject) resultJson.get("pageInfo");
PageInfo user = JSON.toJavaObject(pageInfo,PageInfo.class);
System.out.println(user);
System.out.println(results);
}
解析json对应的对象
Result对象
package com.test.demo.bo;
import lombok.Data;
/**
* @date :2019-06-04 15:14
* @description:3333
*/
@Data
public class Result {
private int batchId;
private String tag;
private String catLeafName;
private String catName;
private String freeShipment;
private String hGoodRate;
private String hPayRate30;
private String iRfdRate;
private String isPrepay;
private String itemUrl;
private String materialLibType;
private String nick;
private String itemId;
private String imageUrl;
private String provcity;
private String ratesum;
private String reservePrice;
private long sellerId;
private String shopDsr;
private String smallImages;
private String title;
private int userType;
private int volume;
private String zkFinalPrice;
private String maxCommissionRate;
private String couponStartTime;
private String couponEndTime;
private String couponInfo;
private String hgoodRate;
private String hpayRate30;
private String irfdRate;
}
PageInfo对象
package com.test.demo.bo;
import lombok.Data;
/**
* @date :2019-06-04 15:13
* @description:222
*/
@Data
public class PageInfo {
private boolean isLastPage;
private int pageIndex;
private int pageSize;
private int total;
private int pageTotal;
private boolean lastPage;
}