Использование readEntity () для анализа ответа Json с разными именами тегов - PullRequest
0 голосов
/ 29 июня 2018

Синтаксический анализ строки json для объекта с использованием readEntity () из jersey с использованием jackson обычно работает нормально, но сейчас я использую API, который возвращает нечетную структуру json, с которой я не знаю, как обращаться.

Моя модель класса Restaurant.java

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class Restaurant {

    @JsonProperty("real_name")
    private String name;

    @JsonProperty("phone")
    private String phone;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

И мой метод Client, когда я хочу вернуть список ресторанов.

  public List<Restaurant> getRestaurantsByZIP(String zip) {
        Response response = lunchgateClient.getRestaurants(zip, null, null, null);
        return response.readEntity(new GenericType<List<Restaurant>>() {
        });
    }

JSON, который я получаю от API

{
  "restaurants": {
    "key_0": {
      "id": "1172",
      "real_name": "Restaurant 1",
      "phone": "123456789",
      "email": "someEmail@email.com"
    },
    "key_1": {
      "id": "1173",
      "real_name": "Restaurant 2",
      "phone": "123456789",
      "email": "someEmail@email.com"
    }
  },
  "tags": "asian, eurpoean, cafe"
}

Как видите, jsons состоит из разных ресторанов, но вместо сущностей ресторанов, находящихся в списке, все они являются отдельным объектом с именами key_0, key_1 и так далее. Как я могу спроектировать мою модель, чтобы метод readEntity () работал для этого json, не имея «key_0» и т. Д. В моей модели в качестве атрибута?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...