Проблема с json, потому что отвечать может быть или не массив - PullRequest
0 голосов
/ 01 июня 2019

Я использую API, управляю ответом с помощью класса RestTemplate, и это мой класс:

public class Emails {

    @JsonProperty(value="ContactEmail")
    List<ContactEmail> ContactEmail;

    @JsonProperty(value="ContactEmail")
    public List<ContactEmail> getContactEmail() {
        return ContactEmail;
    }

    public void setContactEmail(List<ContactEmail> contactEmail) {
            ContactEmail = contactEmail;
    }


}

Код запроса:

ResponseEntity<Emails> result = restTemplate
    .exchange(uri, 
            HttpMethod.GET, 
            new HttpEntity<Object>(headers),
            Emails.class);

, но у меня есть эта проблемаКогда у меня есть только одно электронное письмо, я получаю ответ:

{
    "Emails": {
        "ContactEmail": {
             "address": "email@email.com",
             "useType": "Primary"
        }
     },
    "Websites": ""
}

Но если у меня есть еще одно электронное письмо, я получаю это:

{
    "Emails": {
        "ContactEmail": [
             {
                 "address": "email@email.com",
                 "useType": "Primary"
             },
             {
                 "address": "email2@email.com",
                 "useType": "Secondary"
             }
         ]
    },
    "Websites": ""
}

Тогда у меня есть исключение.Потому что это может быть или нет массив.

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