Я разрабатываю приложение для Android, и REST Server возвращает следующий ответ JSON, когда я отправляю GET:
{
"result": "ok",
"code": 1000,
"code_desc": "Command Done Successfully",
"method": "get",
"call_id": null,
"timestamp": 1539100644,
"weight": {
"1": {
"id": 1,
"customer_id": 1,
"date": "2018-10-04 12:02:00",
"value": 100,
"observations": ""
},
"2": {
"id": 2,
"customer_id": 1,
"date": "2018-10-04 12:02:00",
"value": 100,
"observations": ""
}
},
"order": "date",
"sorder": "ASC",
"total": 2
}
JSON действителен, но когда я пытаюсь прочитать содержимое, он возвращает null.
Я думаю, это потому, что объект Weight плохо сформирован.
Следует ли менять JSON с сервера? что-то вроде:
{
"result": "ok",
"code": 1000,
"code_desc": "Command Done Successfully",
"method": "get",
"call_id": null,
"timestamp": 1539100644,
"weight": [{
"id": 1,
"customer_id": 1,
"date": "2018-10-04 12:02:00",
"value": 100,
"observations": ""
},
{
"id": 2,
"customer_id": 1,
"date": "2018-10-04 12:02:00",
"value": 100,
"observations": ""
}
],
"order": "date",
"sorder": "ASC",
"total": 2
}
Можете ли вы опубликовать свой метод модернизации? url может быть фиктивным, но укажите свой параметр, пожалуйста.
@Headers ("Принять: приложение / json") @GET ("/ api / social / medical_clinic / 1 / weight") public Call <PostWeight> getAllWeights ();




Скорее всего, вы пытаетесь прочитать ответ в какой-то List<Object>, тогда как ответ Сервера выглядит как Map<String, Object>. Попробуйте изменить свой код с учетом этого
Что делать, если там 33000 тысяч записей? Я просто не должен создавать весовой объект для каждого из них.
Почему голосование против? Я просто хотел сказать, что "weight": {"1": {***}, "2": {***} десериализуется в Map <String, Object>, и это правда. И «вес»: [***] десериализуется в List <Object>, и это тоже верно. Так почему же голосование против?
Возможно, публикация кода, который вы используете для синтаксического анализа JSON, даст некоторое представление.