Je travaille avec JSON pour la première fois et j'essaye de désérialiser un fichier JSON en objets Java.Désérialisation de JSON en Java en utilisant Jackson
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
}
Mon JsonHelper.class crée un objet de la classe Object Mapper et utilise readValue (nouveau fichier ("Input.json"), Student.class) pour mapper les champs json aux objets Java. Ce que je veux faire est de créer une carte avec studentId comme une clé et la liste des cours comme la valeur correspondant à chaque studentId.
Je n'arrive pas exactement comment l'obtenir puisque ma liste est juste capable d'obtenir 1 élément et la taille de la liste est ainsi de 1. Et de créer aussi la carte. Toute aide sera appréciée.
Je pense que les noms de variables ne sont pas un problème puisque la cartographie est fait par annotations. – laksh