HTTP-запрос может возвращать объекты двух структур - PullRequest
0 голосов
/ 17 июня 2020

HTTP-запрос может возвращать объекты двух структур. Это структура при возврате успеха и другая структура при возврате ошибки. Я не могу получить признак успеха или неудачи. Могу получить только следующую структуру. Как выполнить синтаксический разбор с помощью java?

SuccessResponse:
{
    "id":1,
    "name":"lulu"
    "score":[100,97,89]
}

ErrorResponse:
{
    "errorCode": "string",
    "errorMessage": "string"
}

1 Ответ

1 голос
/ 17 июня 2020

Это JSON - и большинство библиотек для работы с JSON будут поддерживать это так или иначе:

-> Если вы проанализируете возврат к простой Map <>, вы можете проверить, если на карте есть ключ errorCode

-> Если вы выполняете синтаксический анализ объекта, вы можете указать все поля в своем объекте ответа и разрешить нулевые значения для идентификатора и оценки. Опять же, вы можете просто if(obj.errorCode != null)

В Джексоне это может выглядеть так:

 @JsonIgnoreProperties(ignoreUnknown = true)
 @JsonInclude(Include.NON_NULL)
 public class MyReturn {
    Integer id;
    String name;
    List<Integer> score;
    String errorCode;
    String errorMessage;
 }

плюс геттеры и сеттеры для каждого ...

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