Я должен проверить следующий JSON:
{
"data": {
"children": [{
"nodes": [{
"key": "STATE",
"value": "Alaska"
}],
"children": [{
"nodes": [{
"key": "STATE",
"value": "Alaska"
}, {
"key": "NAME",
"value": "Jack"
}, {
"key": "AGE",
"value": "13"
}]
}, {
"nodes": [{
"key": "STATE",
"value": "Alaska"
}, {
"key": "NAME",
"value": "Jill"
}, {
"key": "AGE",
"value": "23"
}]
}]
}, {
"nodes": [{
"key": "STATE",
"value": "Texas"
}],
"children": [{
"nodes": [{
"key": "STATE",
"value": "Texas"
}, {
"key": "NAME",
"value": "John"
}, {
"key": "AGE",
"value": "23"
}]
}]
}]
}
}
В JSON есть два вложенных списка, первый из которых сгруппирован по «СОСТОЯНИЮ» и содержит дочерний список, который содержит значения имен. Мне нужно найти только имена, которые сгруппированы как «Аляска». Я пробовал следующий JsonPath, но он возвращает ноль:
$.data..children[?(@nodes.value == 'Alaska')].children[?(@nodes.key=='NAME').value
Я не пробовал GPath (findAll), но если это лучшее решение, пожалуйста, сообщите.
Заранее спасибо.