我的服务器输出以下JSON对象:(ContentType = application / json)
{"Name":["Name1","Name2"]}
这是我的Java代码,用于尝试将其读入POJO。
它创建Names类的实例,但其中的数组为null。
我在这里想念什么?
restTemplate = new RestTemplate();
uri = "http://localhost:80/api/names";
Names namesWrapperInstance = restTemplate.getForObject(uri, Names.class);
if(namesWrapperInstance != null && namesWrapperInstance.getNames() != null) {
for(String name : namesWrapperInstance.getNames()) {
System.out.print(name);
}
}
@JsonRootName(value = "Name")
class Names {
private String[] Names;
public Names() {
}
public String[] getNames() {
return Names;
}
public void setNames(String[] Names) {
this.Names = Names;
}
}
答案 0 :(得分:3)
删除JsonRootName批注,遵守Java代码中的Java命名约定,并用names
注释@JsonProperty("Name")
字段。
我强烈建议也使用集合而不是数组。
如果可以的话,您也应该真正重构JSON。与Java中一样,对字段使用小写字母,并将其重命名为names
,因为它是一个数组,包含多个名称,而不仅仅是一个名称。如果您这样做了,JsonProperty
注释就不再需要了。