Есть ли простой способ сгладить ответ json: api на Android? - PullRequest
2 голосов
/ 01 мая 2020

Я пытаюсь сгладить ответ ниже, не разбирая его в классе. Причина этого в том, что сервер может добавлять или удалять поля в любое время, поэтому он должен быть динамическим c. У нас также есть другой сервис, который возвращает пути поиска, которые мы используем для извлечения данных из сплюснутого ответа - например, «$ .detail.att_one». Есть библиотека для iOS, которая делает именно то, что я ищу, но насколько поскольку я не могу найти ничего подобного для Android: https://github.com/infinum/Japx

{
"data": [
    {
        "type": "items",
        "id": "14",
        "attributes": {
            "item_type": "shape_circle",
            "code": null,
            "size": "70"
        },
        "relationships": {
            "detail": {
                "data": {
                    "type": "circle",
                    "id": "90"
                }
            },
            "metadata": {
                "data": "metadata"
            }
        },
        "links": {
            "self": "http://url/item/14"
        }
    }
],
"included": [
    {
        "type": "circle",
        "id": "90",
        "attributes": {
            "att_one": 4,
            "att_two": "11111111111",
            "att_three": "Bob"
        }
    }
]}

Результат, который я ищу:

{
"data": [
    {
        "id": "14",
        "type": "items",
        "item_type": "shape_circle",
        "code": null,
        "size": "70",
        "metadata": {
            "data": "metadata"
        },
        "detail": {
            "type": "circle",
            "id": "90",
            "att_one": 4,
            "att_two": "11111111111",
            "att_three": "Bob"
        },
        "links": {
            "self": "http://url/item/14"
        }
    }
]}
...