Предполагая, что у меня есть довольно сложный объект JSON, например, как показано ниже:Расчет JSONPath
{
"firstName": "John",
"address": [{
"streetAddress": "1 street",
"special": {
"1 a": "1 b"
}
}, {
"streetAddress": "2 naist street",
"special": {
"2 a": "2 b"
}
}],
"phoneNumbers": [{
"type": "iPhone",
"number": "0123-4567-8888"
}]
}
Есть ли инструменты/библиотеки для расчета JSONPath в частности ключ/значение пары?
Например: JSONPath для третьей строки данных (streetAddress": "1 street"
) можно извлечь с помощью JSONPath $.address[0].streetAddress
.
В идеале я хочу что-то вроде этого: calculateJSONPath(3)
- где 3 - это третий ключ, начиная с верхней части, и эта функция вернет $.address[0].streetAddress
. Я не думаю, что будет что-то, что делает именно это, но я должен начать где-то, если не с нуля.
Редактировать: Пример использования: Пользователь загружает файл JSON в мое приложение. Я разрешаю им выбирать определенные ключи, используя мой интерфейс. Представьте флажки рядом с каждым ключом. Затем пользователь может загрузить второй JSON-файл и посмотреть, есть ли ранее выбранные клавиши/значения во втором JSON.
Редакция 2: Поиск не будет работать, поскольку я хочу, чтобы выбранный пользователем ключ/значения находился в той же иерархии, что и первый JSON. Например: если пользователь выбирает "1 a": "1 b"
в первом файле JSON, второй файл JSON должен иметь тот же ключ/значение в одной и той же вложенной иерархии.
Что вы Прецедент и каковы ожидаемые результаты? – charlietfl
** Объекты ** не требуют соблюдения порядка ключей. Таким образом, тот же вызов 'calculateJSONPath' может дать разные результаты! –
@charlietfl Pls см. Редактирование. – john