Неоднородный возврат данных JSON с внутреннего сервера - PullRequest
1 голос
/ 06 мая 2019

Мое приложение для Android просто, компании выдвигают рабочие места работникам, а рабочие принимают или отклоняют предложение о работе. Вот мой процесс: всякий раз, когда работа принимается на телефоне работника, я повторно выбираю предложения работы для обновления экрана, а JSON представляет собой однородную структуру массива.

Итак, я столкнулся с этой ошибкой, когда если у меня есть рабочие места в двух компаниях, скажем, 2 вакансии в компании A и 1 работа в компании B, если я принимаю работу, предложенную компаниями B, поскольку это последняя работа компании B на список, тип данных ответа является неоднородным. Пожалуйста, смотрите ниже возврат до и после JSON

enter image description here

Изображение, помеченное ДО, является тем, когда у меня есть 2 вакансии компании А и 1 работа компании В. Принимая работу 1 компании B и повторно получая запросы на работу, я получаю ответ JSON на рисунке ПОСЛЕ. Несмотря на то, что это верное возвращение JSON, однако из-за запятой в начале массива структура JSON полностью отличается от структуры BEFORE, но единственным способом обойти это было бы предвидеть «2 компания A, 1 компания B». сценарий и создать новый POJO для анализа этого возврата, есть ли лучший способ обойти это?

Следует ли устранить эту проблему на стороне клиента (на мобильном устройстве) или на стороне сервера (на стороне сервера)?

Спасибо

1 Ответ

0 голосов
/ 08 мая 2019

Проблема должна быть решена на бэкэнде. В настоящее время вы возвращаете массив объектов «задание», почему этот массив вдруг содержит строку!?

Если вам абсолютно необходимо что-то вернуть, пустой объект (или предыдущий объект с чем-то вроде "valid":false) имеет больше смысла, чем строка.

В качестве альтернативы (и не очень аккуратно) вы можете проанализировать массив, а затем проверить, является ли каждый объект вашим объектом задания, и в результате вы получите новый массив только того типа, который вам нужен.

...