Java POJO的JSON对象数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java POJO的JSON对象数组相关的知识,希望对你有一定的参考价值。

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

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

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

如何使用它:

  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

另一答案

在你的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

  }
另一答案

您可以使用以下类:

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

public class Pet {
    private String name;
}

以上是关于Java POJO的JSON对象数组的主要内容,如果未能解决你的问题,请参考以下文章

使用jackson将pojo(对象列表)转换为java中的json

java中把json怎么转换成数组

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

java中把json怎么转换成数组?

在 Flutter 中将 JSON 转换为类似于 android 的 POJO(对象)

Java - 如何反序列化带有嵌套对象和列表的 JSON 数组? [复制]