Omnikit
РазработкаФайлыФинансыВсе инструменты
Ctrl K
Инструменты для разработкиИнструменты для файловФинансовые калькуляторыВсе инструменты
ГлавнаяИнструменты для разработчиковТестер JSONPath
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Тестер JSONPath

разработка

Выполняйте запросы JSONPath по RFC 9535 к вставленному JSON и смотрите каждое совпадение с подсветкой

Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется.

JSONPath извлекает значения из JSON коротким выражением. $.store.book[*].author возвращает всех авторов, $..price — все цены на любой глубине, а $..book[[email protected] < 10] — только книги дешевле 10. Этот тестер следует RFC 9535, стандарту 2024 года, и подсвечивает каждое совпадение в отформатированном JSON.

Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал

Дальше:
  • JMESPath Tester Run JMESPath queries on pasted JSON, as the AWS and Azure CLI --query does
  • Форматирование и проверка JSON Форматирование, проверка, минификация и сортировка JSON с точным местом ошибки

Как проверить выражение JSONPath

1

Вставьте JSON в панель JSON или нажмите Показать пример.

2

Введите запрос в поле JSONPath или выберите его в списке Примеры.

3

Смотрите отмеченные совпадения на вкладке Подсветка или откройте Результаты, чтобы увидеть каждый путь и значение.

4

Нажмите Копировать значения, чтобы получить совпадения как массив JSON, или Копировать пути.

О тестере JSONPath

Этот тестер JSONPath выполняет запрос к вставленному JSON и показывает результат тремя способами: список совпавших значений, нормализованный путь к каждому совпадению и подсветку совпадений в отформатированном документе. Результат обновляется по мере ввода, так что выражение можно строить шаг за шагом и видеть, где оно ошибается.

Движок реализует RFC 9535 — стандарт JSONPath, опубликованный IETF в 2024 году. Он поддерживает корень $, доступ к дочерним элементам через точку и скобки, оператор рекурсивного спуска .., подстановочные знаки, индексы массивов, в том числе отрицательные, срезы вроде [1:5:2] и [::-1], а также выражения фильтров с ==, !=, <, <=, >, >=, &&, || и !. Есть все пять стандартных функций: length(), count(), value(), match() и search(), причём две последние принимают регулярные выражения в форме I-Regexp. Запросы, нарушающие правила типов стандарта, например сравнение запроса, который может вернуть несколько узлов, отклоняются с сообщением о причине.

Многие старые библиотеки, включая исходный JSONPath 2007 года и Jayway для Java, отличаются от стандарта в мелочах: некоторым нужны скобки вокруг фильтров, как в [?(@.price < 10)], что здесь по-прежнему работает; другие допускают скриптовые выражения или дополнительные функции, которых в RFC 9535 нет. Если запрос из документации библиотеки отклонён, сообщение обычно называет различие.

Некорректный JSON сообщается со строкой и столбцом первой ошибки. Числа читаются как числа JavaScript, поэтому целые больше 2^53 теряют точность, а повторяющийся ключ сохраняет последнее значение.

Чего он не делает: синтаксис JMESPath или jq, редактирование JSON, загрузка по URL. Всё работает в вашем браузере. Связанные инструменты: JSON Formatter, JSON Diff, JSON to TypeScript.

Частые вопросы

Как отфильтровать массив JSON по значению с помощью JSONPath?

Используйте селектор фильтра: $.items[[email protected] == 'active'] оставляет элементы, у которых status равен active. Символ @ по очереди обозначает каждый элемент. Объединяйте условия через && и ||, сравнивайте числа через < и >, а [email protected] само по себе оставит элементы, у которых вообще есть поле email.

Чем отличаются . и .. в JSONPath?

Одна точка берёт дочерний элемент текущего узла, поэтому $.store.book читает по одному уровню. Две точки ищут на любой глубине, поэтому $..price находит каждое поле price во всём документе, в том числе внутри массивов. Рекурсивный спуск удобен, но на больших ответах может совпасть с большим, чем задумано.

Какому стандарту JSONPath следует этот тестер?

RFC 9535, опубликованному IETF в феврале 2024 года, — первому формальному стандарту JSONPath. Запросы, написанные для старых библиотек, в основном работают, включая фильтры в ?( ), но скриптовые выражения и функции отдельных библиотек не входят в стандарт и отклоняются с объяснением.

Как получить последний элемент массива в JSONPath?

Используйте отрицательный индекс: $.items[-1] — последний элемент, а $.items[-2] — предпоследний. Срез с отрицательным началом тоже работает: $.items[-3:] возвращает три последних. Индексы за концом массива просто ничего не возвращают, а не вызывают ошибку.

Что такое нормализованный путь?

Нормализованный путь — это единственное точное местоположение совпадения, записанное в фиксированной форме, определённой RFC 9535, например $['store']['book'][0]['title']. Каждый результат показывает свой нормализованный путь — это удобно, чтобы указать на значение в отчёте об ошибке или в проверке теста.

Можно ли использовать регулярные выражения в фильтре JSONPath?

Да, с помощью match() и search(). match(@.code, 'A[0-9]+') требует, чтобы под шаблон подходила вся строка, а search(@.name, 'smith') находит его в любом месте. Шаблоны используют I-Regexp, переносимое подмножество регулярных выражений, поэтому сокращения вроде \d и опережающие проверки не принимаются.

Всё ещё не получается? Задайте вопрос об инструменте «Тестер JSONPath» и ответить может любой, кто знает. Учётная запись не нужна.

Похожие инструменты

Все инструменты для разработчиков
Валидатор package.jsonПроверка package.json так, как его читает npm: имя, версия, лицензия, зависимости и синтаксисПроверка title и meta descriptionДлина заголовка и мета-описания в символах и пикселях и место, где Google их обрезаетТестовые номера банковских картНомера карт для песочницы Stripe и Razorpay со сроком действия и CVV, и проверка по ЛунуТестер регулярных выраженийПроверка регулярных выражений JavaScript с подсветкой на лету и объяснением простым языкомСравнение текстовСравните два текста бок о бок и увидьте каждую добавленную и удалённую строкуСравнение JSONСравните два документа JSON и получите каждое добавленное, удалённое и изменённое значениеПредпросмотр Open GraphВставьте страницу и посмотрите карточку для Facebook, LinkedIn, X, WhatsApp и SlackПлотность ключевых слов и читаемостьПодсчёт слов и фраз, плотность, время чтения и индекс удобочитаемости Флеша
Был ли этот инструмент полезен?
Omnikit

Небольшие задачи прямо в вашем браузере. Бесплатно, быстро и конфиденциально. Файлы никогда не загружаются на сервер.

Файлы

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Разработка

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Финансы

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
РуководстваВопросыО сайтеКак мы проверяемБиблиотека законов (бета)КонфиденциальностьУсловияРаскрытие информацииКонтактыMore: Exam practice (UGC NET Paper 1)Работает в вашем браузере. Ничего не загружается на сервер. © 2026 Omnikit (theomnikit.com)