Массив объекта JSON в Java POJO - PullRequest
1 голос
/ 19 марта 2019

Преобразование этого объекта JSON как класса в Java, каким будет отображение в вашем классе POJO?

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

Ответы [ 3 ]

3 голосов
/ 19 марта 2019

Этот вопрос очень популярен и требует общего ответа.Если вам необходимо сгенерировать модель POJO на основе JSON или JSON 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 Studio и Kotlin read RIP http://www.jsonschema2pojo.org.

3 голосов
/ 19 марта 2019

В вашем json у вас есть ownerName как свойство, pets как список объектов

public class Response {

  private String ownerName;

  private List<Pet> pets;

  // getters and setters
  }

Pet POJO

public class Pet {

 private String name;

 //getters and setters

  }
1 голос
/ 19 марта 2019

Вы можете использовать следующие классы:

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

public class Pet {
    private String name;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...