写了一个方法,收到的数据是json格式的,需要解析反参,封装为一个类,这个应该怎么做
思路:例如你收到的json字符串是这样的:
String str = "{\"order\":2,\"name\":\"电费代理\",\"id\":\"522981ec-1654-4459-92ef-4ccf981fea83\",\"synonyms\":[\"水电费用\"],\"parentId\":\"d81cbf59-93a7-48c8-b7a0-bb81af6fda5a\"}";
你需要根据json中的字段定义一个类
public class TestRequest {
private String parentId;
private String name;
private List<Synonym> synonyms = new ArrayList<>();
private int order;
}
完整解析代码:
private TestRequest getTestRequest() {
String str = "{\"order\":2,\"name\":\"电费代理\",\"id\":\"522981ec-1654-4459-92ef-4ccf981fea83\",\"synonyms\":[\"水电费用\"],\"parentId\":\"d81cbf59-93a7-48c8-b7a0-bb81af6fda5a\"}";
return JSONObject.parseObject(str, TestRequest .class);
}
项目的pom文件中引入阿里 FastJson依赖:
<!--阿里 FastJson依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
fastjson中有
JSONObject.parseObject("json数据", 封装类.class);
这个可以将json转为指定类
使用阿里巴巴的com.json.fastjson下的类
JSONObject.parseObject(json, Z.class);