Выражение JSONPath для просмотра различных ключей

У меня есть JSON, возвращенный RESTful API:

{
    "0": {
        "id": "1484763",
        "name": "Name",
        "values": {
            "0": {
                "value": "Peter"
            }
        }
    },
    "1": {
        "id": "2584763",
        "name": "phone",
        "values": {
            "0": {
                "value": "45456456"
            }
        }
    }
}

Как мне написать JSONPath, который извлекает значение телефонного номера? (поэтому в данном случае "45456456"). Что усложняет задачу, объект номера телефона не всегда находится внутри клавиши "1".

1 ответ

Попробуйте этот JsonPath, который приводит к номеру телефона 45456456

$..[?(@.name = 'phone')].values.0.value

По сути, вы должны применить фильтр ?() где name == 'phone' а затем использовать нормальный путь JSON.

Попробуйте выражение в этой ссылке

Синтаксис выражения JsonPath можно найти здесь.

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