Spring RestTemplate Невозможно десериализовать экземпляр `java.util.ArrayList` из токена VALUE_STRING. - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь десериализовать строку JSON в список MyClass, но получаю следующее исключение:

java.util.ArrayList из токена VALUE_STRING; Вложенное исключение - com.fasterxml.jackson.databind.exc.MismatchedInputException: Невозможно десериализовать экземпляр java.util.ArrayList из токена VALUE_STRING

В MyClass есть общедоступный метод получения / установки строки для каждого атрибута в строке JSON, который я получаю с сервера:

[{ "PublicIP": "1.1.1.1", "PrivateIP": "1.1.1.1", "InstanceId": "Я-1234", "IsRunning" ложь}]

Вот код вызова сервера:

ResponseEntity<List<MyClass>> response =
restTemplate.exchange("http://localhost:5000/api/cloud/thelist",
HttpMethod.GET, null, 
new ParameterizedTypeReference<List<MyClass>>() {});

Вот бин MyClass:

public class MyClass {

private String PublicIP;
private String PrivateIP;
private String InstanceId;
private boolean IsRunning;

public String getPublicIP() {
    return PublicIP;
}

public void setPublicIP(String publicIP) {
    PublicIP = publicIP;
}

public String getPrivateIP() {
    return PrivateIP;
}

public void setPrivateIP(String privateIP) {
    PrivateIP = privateIP;
}

public String getInstanceId() {
    return InstanceId;
}

public void setInstanceId(String instanceId) {
    InstanceId = instanceId;
}

public boolean isIsRunning() {
    return IsRunning;
}

public void setIsRunning(boolean isRunning) {
    IsRunning = isRunning;
}
}

Возвращаемая строка - это List, а также у меня есть методы установки. Мне не хватает какой-то конфигурации, которая говорит, как десериализовать этот объект?

...