JSON对象数组转换为Java POJO

8
将这个JSON对象转换为Java类,在您的POJO类中的映射将是什么?
{
    "ownerName": "Robert",
    "pets": [
        {
            "name": "Kitty"
        },
        {
            "name": "Rex"
        },
        {
            "name": "Jake"
        }
    ]
}

2
使用http://www.jsonschema2pojo.org/生成`POJO`模型,可以使用`JSON`或`JSON Schema`。 - Michał Ziober
3个回答

11

这种类型的问题很普遍,需要一般性的回答。如果您需要基于 JSONJSON Schema 生成 POJO 模型,请使用 www.jsonschema2pojo.org。示例截图展示了如何使用它: enter image description here

如何使用:

  1. 选择目标语言。在您的情况下是 Java
  2. 选择来源。在您的情况下是 JSON
  3. 选择注释样式。这可能有点棘手,因为它取决于您想用来序列化/反序列化 JSON 的库。如果模式很简单,请不要使用注释(选择None选项)。
  4. 选择其他可选配置选项,例如包括获取器和设置器。您也可以在IDE中执行此操作。
  5. 选择预览按钮。如果模式很大,请下载生成类的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


4
在上面的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

  }

1
您可以使用以下类:
public class MyObject {
    private String ownerName;
    private List<Pet> pets;
}

public class Pet {
    private String name;
}

如果我想要检索它们的值,那么我该如何获取它? - Adnan haider

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接