Возникла проблема при вызове для получения ответа json и его анализа.
[
{
"name": "john doe",
"age": "24",
"address": "{\"state\":\"LA\",\"country\":\"US\"}"
}
]
Модели:
Человек. java
@Data
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class Person {
private String name;
private String age;
private Address address;
}
Адрес. java
@Data
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class Address {
private String state;
private String country;
}
Код для чтения этих данных,
ResponseEntity<List<Person>> response = restTemplate.exchange(builder.toUriString(), HttpMethod.GET,requestEntity,new ParameterizedTypeReference<List<Person>>() {});
Однако я получаю исключение ниже:
RestClientException при вызове ABS ServiceError, пока извлечение ответа для типа [java.util.List<com.bp.model.Person>]
и типа содержимого [application / json; charset = UTF-8]; вложенное исключение - org.springframework.http.converter.HttpMessageNotReadableException: JSON ошибка синтаксического анализа: не удается создать экземпляр com.bp.model.Address
(хотя существует хотя бы один создатель): нет конструктора / фабричного метода String-аргумента для десериализации из значения String (' {"штат": "Лос-Анджелес", "страна": "США"} '); вложенное исключение: com.faster xml .jackson.databind.ex c .MismatchedInputException: невозможно создать экземпляр com.bp.model.Address
(хотя существует хотя бы один создатель): нет конструктора / фабричного метода String-аргумента для десериализации из значения String ('{"состояние": "В", "бренд": "гимн"}') в [Источник: (PushbackInputStream); строка: 1, столбец: 325] (через цепочку ссылок: java .util.ArrayList [0] -> com.bp.model.Person ["адрес"])