我正在尝试使用Jackson读取给定的JSON格式到Student类中,该类包含另一个类Details.java的一组对象
如何进行此解析?
objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
Student student = = new ObjectMapper().readValue(JSON_INPUT, Student.class);
JSON
{
"studentName": Mikhael,
"studentID": 251,
"details": [
{"detail1": value1, detail2: value2},
{"detail1": value3, detail2: value4}
]
}
Student.java
public class Student {
private String studentName;
private int studentID;
private Set<Details> details;
public Student(String studentName, Integer studentID, Set<Details> details){
this.studentName = studentName;
this.studentID = studentID;
this.details = details;
}
}
Details.java
public class Details {
private String detail1;
private String detail2;
public Details(String detail1, String detail2){
this.detail1 = detail1;
this.detail2 = detail2;
}
}
[如果可能,我会使用gson库。
使用该库,您可以只用一行完成反序列化,就像您先前定义的Student
和Details
类具有与以下属性相匹配的属性一样:
Student studentObject = new Gson().fromJson(JSON_INPUT, Student.class);
然后,您需要添加一些吸气剂以获取StudentObject的数据。