java – 在jackson中使用响应中的指定键反序列化为类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在jackson中使用响应中的指定键反序列化为类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1296字,纯文字阅读大概需要2分钟。
内容图文
![java – 在jackson中使用响应中的指定键反序列化为类](/upload/InfoBanner/zyjiaocheng/768/7a9ab2658e754189bb2d9caa7d404c60.jpg)
我得到外部api的回应
"success": true,
"data": [
{}
我想只映射数据,并将相应的数组映射为整个类.
现在我有它的包装,但它只是一个类.
public class YYYYYY {
private boolean success;
@JsonProperty(value = "data")
private List<PipeDriveContact> arrayData;
解决方法:
如果绝对不需要最外层对象中的其他键,则可以根据键“data”解析数组,然后将其单独解析为POJO.以下是我粗略的实施:
首先,解析出数据数组:
String json = "{\"success\": true,\"data\": [{\"test\": \"some data\"}]}";
JSONObject obj = new JSONObject(json);
String data = obj.getJSONArray("data").toString();
然后,使用Jackson(或其他任何东西),使用您所需的对象创建一个ArrayList:
ObjectMapper objectMapper = new ObjectMapper();
TypeReference<ArrayList<PipeDriveContact>> typeRef = new TypeReference<ArrayList<PipeDriveContact>>() {};
ArrayList<PipeDriveContact> dataArray = objectMapper.readValue(data, typeRef);
以下是我为测试创建的模型POJO:
public class PipeDriveContact {
private String test;
public String getTest() { return test; }
public void setTest(String test) { this.test = test; }
}
以下是我使用的依赖项:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20171018</version>
</dependency>
希望这可以帮助.
内容总结
以上是互联网集市为您收集整理的java – 在jackson中使用响应中的指定键反序列化为类全部内容,希望文章能够帮你解决java – 在jackson中使用响应中的指定键反序列化为类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。