Разбор завернутых объектов в JSON с Moshi

Я пытаюсь разобрать ответ от Google Places API с помощью moshi. Я хочу только получить name и location . Json выглядит так:

 {
        "geometry": {
            "location": {
                "lat": 51.1167056,
                "lng": 17.0260999
            },
            "viewport": {
                "northeast": {
                    "lat": 51.1180545802915,
                    "lng": 17.0274488802915
                },
                "southwest": {
                    "lat": 51.1153566197085,
                    "lng": 17.0247509197085
                }
            }
        },       
        "name": "name of this place"            
    }

Я пропустил большинство элементов для лучшей читаемости. У меня возникла проблема разобрать «lat», «lng» из «location», потому что она не находится в базовой области. И я не хочу создавать класс для каждого объекта, потому что я им не нужен. Есть ли какой-либо простой способ установить атрибут свойств для указания moshi, где он может их найти?

Я нашел библиотеку moshi-lazy-adapters , но я не уверен, как правильно ее использовать

Всего 1 ответ


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

Это похоже на то, что обеспечивает великолепный инструмент JQ CLI.

Хорошо, если вы можете напрямую получить доступ к строке исходного ответа - там вы найдете https://github.com/json-path/JsonPath .


Есть идеи?

10000