我第一次使用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