Десериализация через GSON

142
05 июля 2022, 23:20

Допустим, есть такая структура JSON:

{
  "photos": {
    "page": 1,
    "pages": 10,
    "perpage": 100,
    "total": 1000,
    "photo": [
      {
        "id": "50640170443",
        "owner": "190339889@N02",        
        "url_s": "live.com/65535/50640170443_c0af29d36b_m.jpg",
        "height_s": 135,
        "width_s": 240
      },
      { ...

Правильно ли я понимаю, что средствами GSON можно десериализовать только через классы-обертки всех объектов, начиная с корня? А сразу вытащить, к примеру, только объекты из таблицы "photo" нельзя?

Answer 1

С помощью этого прекрасного ресурса (http://www.jsonschema2pojo.org/) создаете необходимые вам для этого вопроса Классы. В данном случае мы получим 3 класса Условно назовем их как предлагает ресурс : Photo, Photos, и Response (Лучше переименовать для дальнейшей работы). Ну и собственно чтобы потом при десериализации вашего обьекта (будем считать что он представлен в виде строки yourString) получить список обьектов Photo :

List<Photo> yourList = new Gson.fromJson(yourString, Response.class).getPhotos().getPhoto();

Думаю только так.

READ ALSO
При Развертывание приложения с помощью докер контенера на удаленном сервере возникает проблема

При Развертывание приложения с помощью докер контенера на удаленном сервере возникает проблема

При развертывании приложения на локальной машине с помошью Docker DEsktop все происходит без проблем и приложение поднимается,но при развертывание...

191
Проблема с удалением переменных классов потомков

Проблема с удалением переменных классов потомков

Прототип кода - Проблема с циклом foreach для коллекции

214
HQL-запрос к Базе Данных работает не корректно с OneToMany

HQL-запрос к Базе Данных работает не корректно с OneToMany

У меня есть две сущности: Customer и CustomerOrderЗависимость между ними One-to-Many

150