反序列化json数组,其中属性值为数组java
我知道这是非常基本的,但我在使用jackson反序列化json时遇到了一个问题,格式如下:
我创建了一个具有id、名称和位置的类Person,并尝试使用jackson(使用@JsonProperty注释)读取API调用的结果,但调试persons变量时为null:
json body:
{ people:[
{
"id":"0",
"name":"Bob",
"place":"Colorado",
},
{
"id":"1",
"name":"John",
"place":"Chicago",
},
{
"id":"2",
"name":"Marry",
"place":"Miami",
}
]}
RequestEntity<Void> reqEntity = RequestEntity.get(new URI(url))
.accept(MediaType.APPLICATION_JSON)
.build();
ResponseEntity<List<Person>> persons = template.exchange(reqEntity, new ParameterizedTypeReference<List<Person>>() {});
# 1 楼答案
您应该将
List<Person>
包装在另一个响应对象中,该对象有一个people
字段,包含您的列表:然后您可以根据以下内容更改
ResponseEntity
: