我正在读取格式为的JSON
{
"student" : [
{
"roll" : 1,
"name" : "abc",
"subjects" : [
{
"major" : "chemistry",
"minor" : "maths"
},
{
"major" : "biology",
"minor" : "physics"
}
]
},
{
"roll" : 2,
"name" : "xyz",
"subjects" : [
{
"major" : "english",
"minor" : "biology"
},
{
"major" : "english",
"minor" : "physics"
}
]
}
]
}
我正在存储";学生;将每个学生的详细信息——"卷、姓名、科目"制成一个POJO。
ObjectMapper mapper=new ObjectMapper((
地图<字符串,列表对象=mapper.readValue(Json,?(;
当我给出"Map.class"时,我会出错,当我给出新的TypeReference<映射<字符串,列表>gt;(({},它存储包,而不是将json存储到POJO。我用什么来代替"?">在给定学生名称的情况下,返回特定学生的所有专业和辅修科目的最佳方法是什么?我应该做一个哈希图还是列表?或者还有其他办法吗?
我假设您正在读取JSON字符串,您需要将它们转换为POJO,在这种情况下,您需要按照以下方式设计POJO
class Reports{
private final List<Student> student;
// getters & setters
}
class Student {
private final int roll;
private final String name;
private final List<Subject> subjects;
// getters & setters
}
class Subject{
private final String major;
private final String minor;
// getters & setters
}
然后你可以使用如下,
ObjectMapper mapper = new ObjectMapper();
Reports reports = mapper.readValue(jsonString, Reports.class);
POST编辑