У меня сложная структура, которая вложена, как показано ниже. Я пытаюсь получить доступ к значению вложенного ключа со своей парой ключ: значение sibling.Доступ к дочернему узлу с использованием его пары значений ключа sibling во вложенной карте
Например: Моя сложная структура:
{
key1:value,
key2:
[
{a:1,c:{d:1}},
{a:2,c:{d:0}},
{a:3,c:{d:1}}
]
}
Я пытаюсь вернуть значение D, где: 3. Очевидно, что d является ребенком родного брата. Если я пройду через key2 и получаю значение c, я могу сделать DFS для детей c, чтобы найти нужное значение.
Это не поможет, если я укажу пару sibling key: value как один уровень вложенности. Для этого нужен обход XPath. Скажем, для вышеприведенного случая, мое выражение было бы:
(a:1>>c)->{d:1}
(a:2>>c::d)->0
(key2::a)->[1,2,3]
Где :: ребенок обозначение и >> является родственными нотациями. Есть ли простой или элегантный способ приблизиться к этому? Существуют ли библиотеки, например, this для Java?
Попробуйте: https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path/2.2.0 (https://github.com/jayway/JsonPath) легко указать путь к объекту JSON , – AlexC