Ответ на модернизацию Json

Я разрабатываю приложение для 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
}

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

Barns 10.10.2018 01:01

Можете ли вы опубликовать свой метод модернизации? url может быть фиктивным, но укажите свой параметр, пожалуйста.

Daniel Carreto 10.10.2018 02:25

@Headers ("Принять: приложение / json") @GET ("/ api / social / medical_clinic / 1 / weight") public Call <PostWeight> getAllWeights ();

Pats 10.10.2018 17:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
56
1

Ответы 1

Скорее всего, вы пытаетесь прочитать ответ в какой-то List<Object>, тогда как ответ Сервера выглядит как Map<String, Object>. Попробуйте изменить свой код с учетом этого

Что делать, если там 33000 тысяч записей? Я просто не должен создавать весовой объект для каждого из них.

Pats 10.10.2018 17:19

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

Yuriy Tsarkov 10.10.2018 22:12

Другие вопросы по теме