java - 如何使用 RestTemplate 反序列化嵌套列表?
问题描述
我有一个来自调用 RestTemplate 的响应。我在反序列化对目标类的响应时遇到问题。我可以获取“代码”和“消息”,但无法获取数据作为列表。这是我的响应类和 RestTemplate 调用。
public class DataResponse {
Long code;
String message;
BusinessClusterData data;
public class BusinessClusterData {
@SerializedName("data")
List<BusinessClusterContent> businessClusterContentList;
Long count;
}
}
ResponseEntity<DataResponse> response =
restTemplate.exchange(url, HttpMethod.GET, entity, DataResponse.class);
这是回应。
{
"code": 0,
"message": "ok",
"data": {
"data": [
{
"name": "test_name",
"host": "test_host",
"segInfo": [
{
"state": "applyed",
"formId": 42158
}
]}
],
"count": 1
}
}
解决方案
您应该使用@JsonProperty
( com.fasterxml.jackson.annotation.JsonProperty
) 而不是 Gson 之@SerializedName
类的
public class BusinessClusterData {
@JsonProperty("data")
List<BusinessClusterContent> businessClusterContentList;
Long count;
}
另外我认为你应该创建BusinessClusterData
一个静态类,因为它不依赖于DataResponse
推荐阅读
- ios - 重复本地通知不更新内容
- python - 画中画 | 无法安装屏幕
- php - HTTP/2 服务器推送不起作用,我做错了什么?
- python - 绘制具有周期性边界且没有分段的 nices 曲线
- vue.js - 在 Vue 中处理链表
- node.js - 混合面板安装后源地图不显示
- c# - 在 IIS-10 中发布后,ASP.NET Core MVC 2.1.0 会话不起作用
- python-3.x - python:如何将我的枚举字符串变成字典?
- java - 自定义 Android CalendarView - 显示 DropdownMenu
- java - 上下文配置不加载bean并抛出空指针异常