【发布时间】:2021-01-20 11:34:20
【问题描述】:
我正在创建一个接收 JSON 输入的 REST 服务,如下所示:
[
{
"person": {
"name": "string",
"surname": "string",
"address": "string",
"age": "data",
"info": {
"number": "string"
}
}
},
{
"person": {
"name": "string",
"surname": "string",
"address": "string",
"age": "data",
"info": {
"number": "string"
}
}
}
]
我的物品是( 我省略了 getter 和 setter):
public class Request {
private List<Person> person;
}
public class Person{
private String name;
private String surname;
private String address;
private XMLGregorianCalendar age;
private Info info;
}
public class Info {
private String number;
}
我怎么会出现以下错误?
{
"timestamp": 1611142052198,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.http.converter.HttpMessageNotReadableException",
"message": "JSON parse error: Can not deserialize instance of com.myproject.model.Request out of
START_ARRAY
}
我需要 json 结构就是这样。
【问题讨论】:
-
您的 JSON 代表一个数组,但看起来您正试图反序列化为单个对象。
-
它试图反序列化一个完整的
Request对象,但你应该只去它的person字段。 -
但我的请求是人员列表,我的课程应该是什么样的?
-
@Vlenovil 您应该反序列化为
List<Person>(或Person[]),而不是您在此处使用的Request类。