Разбор JSON с использованием GSON для получения «контента» - PullRequest
0 голосов
/ 04 декабря 2018

Я пытался получить список всех резервирований из JSON, используя GSON, но получаю сообщение об ошибке.Я делаю что-то неправильно?Если да, то как мне это исправить?

Моя попытка:

Gson gson = new Gson();
Wrapper reservations = gson.fromJson(response.toString(), Wrapper.class);

Класс:

class Wrapper{
    Long id;
    Long personId;
    List<Long> SeatsIDs;
}

PS Есть ли в GSON решение, чтобы избавиться от всех?«ссылки»?

 {
  "links": [
    {
      // a lot of stuff
    }
  ],
  "content": [
    {
      "id": 1,
      "personID": 12335,
      "seatsIDs": [
        5,
        7,
        4
      ],
      "links": [
        {
           // a lot of stuff
        },
        {
           // a lot of stuff
        }
      ]
    },
    {
      "id": 2,
      "personID": 77777,
      "seatsIDs": [
        1,
        2,
        3
      ],
      "links": [
        {
           // a lot of stuff
        },
        {
           // a lot of stuff
        }
      ]
    }
  ]
}

1 Ответ

0 голосов
/ 04 декабря 2018

У нас нет описания вашей ошибки.Но из того, что я вижу, вы хотели бы десериализовать каждую запись из массива content .Однако вы просите GSON десериализовать полный ответ.

Одним из возможных решений будет создание структуры классов, которая выглядит как ваш Json:

// Getters and setters omitted
class Response {
  List<Link> links;
  List<Wrapper> content; 
}
// ...
Response response = gson.fromJson(response.toString(), Response.class);
Wrapper first = response.getContent().get(0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...