Тест JSONPath онлайн

Локальная обработка
app.jsonpath.view

Данные также можно передать через #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"]
Это похоже на CSS-селекторы?

Идея та же: путь описывает «какую часть взять», без ручных циклов.

Как писать фильтр?

Типичная запись — $..book[?(@.price<10)] и подобные условия. Синтаксис определяется движком этой страницы.

Почему нет результата?

Чаще всего путь не совпадает с реальной структурой. В дереве сверьте имена ключей, индексы массивов и то, объект это или массив.

Изменится ли исходный JSON?

Нет. Выводится только список совпавших значений.

Рекомендуемый процесс

  1. Вставьте полный ответ и начните с $ с короткого пути, затем углубляйте.
  2. Подставьте шаблон типичного выражения и нажмите «Выполнить», чтобы увидеть число совпадений.
  3. Когда результат верный, скопируйте выражение в тест или скрипт.
  4. Если совпавший массив объектов нужен как таблица, перейдите на страницу CSV / Excel.

Детали JSONPath в разных библиотеках чуть отличаются. Ориентируйтесь на выражение, которое проходит здесь, затем сверьте реализацию в вашем языке.