我第一次使用JSON,并试图将JSON文件反序列化为Java对象。使用Jackson反序列化JSON到Java
InputJSON
{
"student_id" : "123",
"courses":[
{
"course_id":"789",
"professor":"abc"
}
]
}
{
"student_id":"234",
courses:[
{
"course_id":"789",
"professor":"pqr"
},
{
"course_id":"789",
"professor":"xyz"
}
]
}
{
"student_id" : "345",
"courses":[
{
"course_id":"567",
"professor":"lmn"
}
]
}
Student.class
class Student {
@JsonProperty("student_id")
private String studentId;
@JsonProperty("courses")
private List<Courses> courses;
//getters and setters
}
Courses.class
public class Courses {
@JsonProperty("course_id")
private String courseId;
@JsonProperty("professor")
private String professor;
//getters and setters
}
我JsonHelper.class创建Object Mapper类的对象并使用readValue(new File(“Input.json”),Student.class)将json字段映射到Java对象。
我想要做的是创建一个map,将studentId作为关键字,将课程列表作为每个studentId对应的值。
我并不完全知道如何实现它,因为我的列表只能获得1个元素,列表大小因此为1。 任何帮助将不胜感激。
我想既然映射是由注解来实现的变量名在这里不是一个问题。 – laksh