创建POJO并返回多个对象值



我正在读取格式为的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。

  1. ObjectMapper mapper=new ObjectMapper((
    地图<字符串,列表对象=mapper.readValue(Json,?(;
    当我给出"Map.class"时,我会出错,当我给出新的TypeReference<映射<字符串,列表>gt;(({},它存储包,而不是将json存储到POJO。我用什么来代替"?">

  2. 在给定学生名称的情况下,返回特定学生的所有专业和辅修科目的最佳方法是什么?我应该做一个哈希图还是列表?或者还有其他办法吗?

我假设您正在读取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编辑

最新更新