Извлечение по пути
Поддерживаются $ корень, .. рекурсия, срезы и фильтры. Маска [*] одним запросом берёт одноимённое поле у каждого элемента массива.
На странице есть шаблоны: выберите шаблон и подправьте путь под себя.
Данные также можно передать через #data={"name":"Ada"} или #url=... После чтения параметры сразу удаляются из адресной строки.
JSONPath извлекает узлы из документа путями вроде $.store.book[*].title . Запрос только на чтение, исходник не меняется — удобно взять список или вложенное поле из большого ответа. Для утверждений в тестах API и вырезки массива из лога это короче, чем писать многоуровневый доступ вручную.
Поддерживаются $ корень, .. рекурсия, срезы и фильтры. Маска [*] одним запросом берёт одноимённое поле у каждого элемента массива.
На странице есть шаблоны: выберите шаблон и подправьте путь под себя.
Меняйте одну строку пути и сразу видите результат — быстрее временного скрипта. Ошибка выражения или отсутствие совпадений показывается явно.
Путь, скопированный со страницы дерева, снижает опечатки.
Извлечённый массив можно конвертировать в CSV или сгенерировать типы. Когда путь верный, перенесите его в тест или скрипт jq.
Страница не меняет исходник — только чтение.
{
"store": {
"book": [
{ "title": "Sayings of the Century", "price": 8.95 },
{ "title": "Slightly Bad", "price": 12.99 }
]
}
}
$.store.book[*].title
["Sayings of the Century", "Slightly Bad"]
Идея та же: путь описывает «какую часть взять», без ручных циклов.
Типичная запись — $..book[?(@.price<10)] и подобные условия. Синтаксис определяется движком этой страницы.
Чаще всего путь не совпадает с реальной структурой. В дереве сверьте имена ключей, индексы массивов и то, объект это или массив.
Нет. Выводится только список совпавших значений.
$ с короткого пути, затем углубляйте. Детали JSONPath в разных библиотеках чуть отличаются. Ориентируйтесь на выражение, которое проходит здесь, затем сверьте реализацию в вашем языке.