Что такое тестер JSONPath?
Тестер JSONPath оценивает выражение JSONPath по документу JSON и возвращает каждое значение, выбранное выражением, вместе с точным путем к каждому совпадению.JSONPath - это язык запросов для JSON, то, как XPath является языком запросов для XML: вы пишете короткий путь, такой как $.store.book[*].author, и получаете обратно список совпадающих значений, не записывая никакого кода. Этот инструмент анализирует ваш JSON, запускает выражение и показывает как результаты, так и нормализованный путь каждого из них.
Точка тестера - обратная связь Когда выражение JSONPath ничего не возвращает, или возвращает больше, чем вы ожидали, проблема почти всегда в небольшой детали синтаксиса: отсутствующий подстановочный знак, неправильный стиль скобки или фильтр, который сравнивает строку с числом. Запуск запроса в реальном времени с реальными данными, и вид, к каким узлам он прикасается, превращает эту догадку в двухсекундную проверку. это та же самая причина, по которой разработчики держат тестер регекса открытым рядом со своим редактором.
Все работает в вашем браузере.JSON анализируется со встроенным анализатором JSON, и выражение оценивается небольшим интерпретатором, написанным на JavaScript, поэтому ничего не загружается, не регистрируется и не сохраняется. Это имеет значение, потому что работа JSONPath обычно происходит против ответов API и файлов конфигурации, которые несут токены, идентификаторы или записи клиентов, и этот инструмент сохраняет эту полезную нагрузку на вашем собственном компьютере и продолжает работать в автономном режиме после загрузки страницы.
JSONPath - это соглашение с несколькими реализациями, а не с одной спецификацией, и они расходятся по краям. Синтаксис фильтра - наименее переносимая часть, поэтому выражение, которое работает в одной библиотеке, возможно, потребует настройки в другой. Рекурсивное снижение - дорогостоящая операция: он обходит каждый узел документа, поэтому в большом файле запрос, начинающийся с двух точек, заметно медленнее явного пути.
Чтобы попробовать его в качестве онлайн-оценщика JSONPath, нажмите "Загрузить образец", замените выражение на $.store.book[?(@.price < 10)].title и нажмите "Оценить". Режим значений возвращается ["Высказывания века", "Моби Дик"] с панелью, отмеченной 2 результатами. Переключите вывод на пути и нажмите "Оценить еще раз", и тот же запрос возвращает $.store.book[0].title и $.store.book[2].title, который сообщает вам, что фильтр пропустил книги по индексу 1 и 3. Измените выражение на $..цена, и вы получите пять чисел, потому что рекурсивный спуск также достигает велосипеда.
Как использовать тестер JSONPath?
Вставьте свой JSON
Вставьте объект или массив в поле JSON или нажмите "Загрузить образец" для документа книжного магазина. Входные данные должны быть действительными JSON; ошибка анализа отображается в собственном сообщении вашего браузера, в котором обычно указывается позиция, чтобы вы могли ее исправить.
Напишите выражение JSONPath
Введите путь, такой как $.store.book[*].title или $..price.Начните с $ для корня, используйте точки или скобки для детей и добавьте фильтры, такие как [?(@.price < 10)], чтобы выбрать по значению.
Прочитайте матчи
Нажмите "Оценить", чтобы запустить выражение; в области "Соответствия" перечислены все сопоставленные значения и показан счетчик результатов. Переключите вывод на пути или записи и нажмите "Оценить еще раз", чтобы увидеть, откуда взялся каждый результат.
Скопируйте результат
Скопируйте сопоставленные значения, список путей или полные записи пути и значения в формате JSON, чтобы вставить их в свой код, тесты или документацию.
Основные характеристики
Синтаксис полного пути
Корень, дочерний элемент, рекурсивный спуск (..), подстановочный знак (*), индекс массива, включая отрицательный индекс, объединения и фрагменты в стиле Python - все это поддерживается, поэтому большинство опубликованных примеров JSONPath работают без изменений.
Выражения фильтра
Выберите узлы по значению с помощью таких фильтров, как [?(@.price < 10 & & @.category == "вымысел")]. Операторы сравнения, проверки существования и & / || комбинации оцениваются по элементам.
Значения, пути или записи
Смотрите согласованные значения, нормализованный путь каждого совпадения или оба вместе в качестве записей. выход пути удобен для построения необходимого вам выражения.
Очистить сообщения об ошибках
Неверные JSON и неверные выражения сообщаются отдельно с конкретным сообщением, поэтому вы знаете, следует ли исправлять данные или запрос, а не смотреть на пустой результат.
Frequently Asked Questions
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSON to XML
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
XML Formatter
Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting
Comments
0 comments
No comments yet. Be the first to share your thoughts!