【问题标题】:Array of JSON Object to Java POJOJSON对象数组到Java POJO
【发布时间】:2019-08-10 10:11:15
【问题描述】:

将此 JSON 对象转换为 java 中的类,映射将如何在您的 POJO 类中?

{
    "ownerName": "Robert",
    "pets": [
        {
            "name": "Kitty"
        },
        {
            "name": "Rex"
        },
        {
            "name": "Jake"
        }
    ]
}

【问题讨论】:

标签: java arrays json object


【解决方案1】:

这类问题很受欢迎,需要一般性的回答。如果您需要基于JSONJSON Schema 生成POJO 模型,请使用www.jsonschema2pojo.org。示例打印屏幕显示了如何使用它:

使用方法:

  1. 选择目标语言。 Java 在你的情况下。
  2. 选择来源。 JSON 在你的情况下。
  3. 选择注释样式。这可能很棘手,因为它取决于您要用于序列化/反序列化 JSON 的库。如果架构很简单,请不要使用注释(None 选项)。
  4. 选择其他可选配置选项,例如Include getters and setters。您也可以在 IDE 中执行此操作。
  5. 选择Preview 按钮。如果架构很大,请下载 ZIP 并生成类。

对于您的JSON,此工具会生成:

public class Person {

 private String ownerName;
 private List <Pet> pets = null;

 public String getOwnerName() {
  return ownerName;
 }

 public void setOwnerName(String ownerName) {
  this.ownerName = ownerName;
 }

 public List < Pet > getPets() {
  return pets;
 }

 public void setPets(List < Pet > pets) {
  this.pets = pets;
 }

}

public class Pet {

 private String name;

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }
}

对于Android StudioKotlin,请阅读RIP http://www.jsonschema2pojo.org

【讨论】:

    【解决方案2】:

    在上面的 json 中,ownerName 作为属性,pets 作为对象列表

    public class Response {
    
      private String ownerName;
    
      private List<Pet> pets;
    
      // getters and setters
      }
    

    宠物 POJO

    public class Pet {
    
     private String name;
    
     //getters and setters
    
      }
    

    【讨论】:

      【解决方案3】:

      您可以使用以下类:

      public class MyObject {
          private String ownerName;
          private List<Pet> pets;
      }
      
      public class Pet {
          private String name;
      }
      

      【讨论】:

      • 如果我想同时检索它们的值,那么我如何得到它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多