当前位置: 首页 > 知识库问答 >
问题:

创建POJO并返回多个对象值

邵研
2023-03-14

我正在阅读格式的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" 
     }
   ]
  } 
 ]
}

我将“student”存储到一个字符串中,并将每个学生的详细信息——“roll,name,subjects”存储到POJO中。

>

  • ObjectMapper mapper=new ObjectMapper();
    Map

    返回某个学生的所有主修和辅修课程的最佳方式是什么?我应该做一个hashmap还是列表?或者还有别的办法吗?

  • 共有1个答案

    柴飞扬
    2023-03-14

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

    后期编辑

     类似资料:
    • 问题内容: 例如: 相对于: 一个比另一个更有效吗? 问题答案: 返回之前分配给临时变量使您有机会从newPerson()中进行错误检查和更正。返回新的调用要求newPerson()方法的调用者捕获错误并从错误中恢复。

    • 所以我不确定是0还是2。 如果有人知道请告诉我。

    • 问题内容: 我有以下Java代码: 问题很简单:调用此方法将创建多少个对象? 一开始我回答说创建了5个String对象,但是我的书回答说只有3个对象被创建,没有给出解释(这是一个SCJP问题)。 从我的角度来看,有5个对象:“ Fred”,“ 47”,“ Fred47”,“ ed4”,“ ED4”。 我也在SCJP模拟考试中找到了这个问题,答案是3。 问题答案: “ Fred”和“ 47”将来自字

    • 我想尝试一下我在C中读到的关于按值返回的内容(在新对象为create的情况下,这与按值传递相同) 终端输出是这样的: > 我希望中的行为是:a.创建Kar2 b。将其复制到Kar 3并返回它(随后将Kar 3分配给Kar 1)。为什么不呢? 如果我取消注释< code > Kar k2 = foo();我得到编译器消息: 错误:没有匹配函数调用Kar::Kar(Kar) 当然,我不能添加构造函数,

    • 假设每种颜色总是有一辆车。所以我总是在找一辆车,不多也不少。 如何确保始终有一个对象被找到并返回?

    • 在我的应用程序中,用户可以将电影标题添加到他们的观看列表中。在我的组件中,我有以下功能: 这目前有一些虚拟信息。 在我的服务中,我有: 所以我将电影对象和令牌传递给后端。 在我的电影ontroller.java我有: 以及movieService中的createMovie功能: 这一切都很好,但我想在电影成功添加到列表(数据库)时向angular应用程序返回一条消息。我想我应该使用@Respons