Разбор строки 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;
}
}
И мой метод клиента, где я хочу вернуть список ресторанов.
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» и т. Д. В моей модели в качестве атрибута?
java,json,serialization,jackson,jersey-client,
Разбор строки 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;
}
}
И мой метод клиента, где я хочу вернуть список ресторанов.
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» и т. Д. В моей модели в качестве атрибута?
01Java, JSON, сериализация, джексон, джерси-клиент,