创建 POJO 并返回多个对象值
Posted
技术标签:
【中文标题】创建 POJO 并返回多个对象值【英文标题】:Creating POJO and returning multiple object values 【发布时间】:2021-01-08 01:30:36 【问题描述】:我正在读取格式为 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"
]
]
我将“学生”存储到一个字符串中,并将每个学生的详细信息 - 'roll、name、subjects' 放入 POJO。
ObjectMapper 映射器 = new ObjectMapper(); Map
在给定学生姓名的情况下,返回特定学生的所有专业和未成年人的最佳方式是什么?我应该做一个哈希图还是列表?或者有没有其他办法?
【问题讨论】:
【参考方案1】:我假设您正在读取 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 已编辑
【讨论】:
由于 POJO 中不包含“student”,因此报错 Unrecognized field “student”以上是关于创建 POJO 并返回多个对象值的主要内容,如果未能解决你的问题,请参考以下文章