我从这个页面的类似已解决的问题中尝试了很多解决方案,但我无法使其工作。我正在做一个get petition来获取一个数组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);
我们可以看到 照片中,主体属性为空
我到底漏了什么?
这个问题是与字段的名称有关的。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;
}
}