Выражение 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 можно найти здесь.