json - 尝试解析 JSON 时,Spring RestTemplate 响应正文为空
问题描述
我一直在尝试此页面中类似已解决问题的许多解决方案,但我无法使其工作。我正在发出请求以获取数组 JSON,并且我想将这些值映射到我的类中。
我得到了这个类:
public class Devices {
private String DeviceName;
private String DeviceDescription;
public String getDeviceName() {
return DeviceName;
}
public void setDeviceName(String deviceName) {
this.DeviceName = deviceName;
}
public String getDeviceDescription() {
return DeviceDescription;
}
public void setDeviceDescription(String deviceDescription) {
this.DeviceDescription = deviceDescription;
}
}
GET 请愿书在下面返回此 JSON:
[{"DeviceName":"AMIXT-20EC-VIDM0000","DeviceDescription":"Samsung device "},{"DeviceName":"AMIXT-E0F9-VIDM0001","DeviceDescription":"Tablet Huawei"}]
我已经尝试过这样的解决方案(也尝试使用 getForObject):
ResponseEntity<Devices[]> responseEntity = restTemplate.getForEntity(url, Devices[].class);
正如我们在这张照片中看到的,body 属性为空
我错过了什么?
解决方案
该问题与 中的字段名称有关JSON
,名称以大写字母开头。
一种简单的解决方案是对类@JsonProperty
中定义的变量使用注释Devices
public class Devices {
@JsonProperty("DeviceName")
private String deviceName;
@JsonProperty("DeviceDescription")
private String deviceDescription;
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getDeviceDescription() {
return deviceDescription;
}
public void setDeviceDescription(String deviceDescription) {
this.deviceDescription = deviceDescription;
}
}
推荐阅读
- javascript - JavaScript 访问局部变量
- c++ - c++构造函数lnk2019未解析的外部符号
- javascript - 为什么我使用简单的哈希函数得到非法参数错误?
- java - Java Has-A 关系、组合或聚合
- android - Expo React Native 应用程序中的 RTMP 直播
- sqlite - 插入或更新计数器值,然后在单个语句中返回计数器值
- node.js - 如何将 Firebase 存储图像获取为 base64?
- javascript - 在 google-chrome-extension 中管理从内容脚本到 vue js 弹出页面的多条消息
- r - 在 r 中使用 NA 在现有数据帧上滚动行和
- kotlin - 使用 Mockk 模拟 SocketIO 的发射功能