Как извлечь несколько объектов из JSON с помощью Gson - PullRequest
1 голос
/ 12 февраля 2020

Существует json файл с несколькими объектами:

{
    "object1": {
        "property": "bar",
    },
    "object2": {
        "property": "foo",
    },
    "object3": {
        "property": "buzz"
    }
}

Также есть 3 класса, Object1, Object2 и Object3, как я могу извлечь все 3 как отдельные объекты?

Это явно не сработало:

Object1 = gson.fromJson(reader, Object1.class);
Object2 = gson.fromJson(reader, Object2.class);
Object3 = gson.fromJson(reader, Object3.class);

1 Ответ

2 голосов
/ 12 февраля 2020

Вам просто нужен класс-оболочка с этими тремя свойствами

public class Wrapper {

 private Object1 object1;

 private Object2 object2;

 private Object3 object3;

  // getters and setters

}

, а затем используйте gson.fromJson для анализа json в Wrapper

Wrapper wrapper = gson.fromJson(reader, Wrapper.class);

С Wrapper получить все необходимые атрибуты

Object1 object1 = wrapper.getObject1();
Object2 object2 = wrapper.getObject2();
Object3 object3 = wrapper.getObject3();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...