私は初めてJSONを使用しています.JSONファイルをJavaオブジェクトにデシリアライズしようとしています。ジャクソンを使用して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オブジェクトにマップします。
私がしたいことは、studentIdをキーとして、各studentIdに対応する値としてコースリストを作成することです。
私のリストは1つの要素しか得られないので、リストのサイズは1です。マップの作成にも問題があります。 助けていただければ幸いです。
私はマッピングは、アノテーションによって行われているので、変数名がここでの問題はないと思います。 – laksh