这是我的JSON数组:
[
{
"firstName" : "abc",
"lastName" : "xyz"
},
{
"firstName" : "pqr",
"lastName" : "str"
}
]
我有一个字符串对象。现在我想将其转换为Java对象并将其存储在Java对象的列表中,例如在学生对象中。 我正在使用以下代码将其转换为Java对象的列表:-
ObjectMapper mapper = new ObjectMapper();
StudentList studentList = mapper.readValue(jsonString, StudentList.class);
我的List类是:
public class StudentList {
private List<Student> participantList = new ArrayList<Student>();
//getters and setters
}
我的学生对象是:-
class Student {
String firstName;
String lastName;
//getters and setters
}
我有什么遗漏吗? 我得到了以下异常: -
Exception : com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.aa.Student out of START_ARRAY token
List
反序列化为Student
。 - ByeByemapper.readValue(jsonString, Student.class)
将一个学生对象序列化,而不是 "如果 JSON 类型为列表,则返回一个学生对象或学生对象列表"。在这种情况下,您应该使用 TypeReference。 - yshavit{"participantList" : []}
。这就是错误信息想要告诉你的。 - OneCricketeer