Описание
Инструмент предназначен для проверки корректности данных в формате XPath / JSONPath и помощи в составлении правильных выражений для парсинга данных из XML и JSON документов.
Как открыть окно?
На панели инструментов, если данная кнопка включена в настройках внешнего вида:
Или Главное Меню - Инструменты - Тестер X/JSON Path:
Как проверить правильность выражения XPath / JSONPath?
В поле ввода вставляем код для обработки;
Вставляем готовое XPath / JSONPath выражение, которое необходимо проверить;
Нажимаем кнопку “Тест“;
В поле “Результат обработки” получаем совпадения, полученные по заданному выражению, если оно было составлено правильно.
Как быстро составить выражение XPath / JSONPath?
В поле ввода вставляем код для обработки;
Нажимаем кнопку “Найти“;
В поле “XPath / JSONPath“ получаем выражение готовое выражение;
В поле “Результат обработки” получаем совпадения, полученные по заданному выражению, если оно было составлено правильно.
Получившееся выражение можно использовать в экшене Обработка JSON и XML.
Кнопка Beautify позволяет автоматически отформатировать код и привести его к удобному для чтения формату.
Базовый синтаксис XPath.
Выражение | Результат |
---|---|
имя_узла | Выбирает все узлы с именем "имя_узла" |
/ | Выбирает от корневого узла |
// | Выбирает узлы от текущего узла, соответствующего выбору, независимо от их местонахождения |
. | Выбирает текущий узел |
.. | Выбирает родителя текущего узла |
@ | Выбирает атрибуты |
Для поиска неизвестных узлов используются специальные символы:
Спецсимвол | Описание |
---|---|
* | Соответствует любому узлу элемента |
@* | Соответствует любому узлу атрибута |
node() | Соответствует любому узлу любого типа |
Базовый синтаксис JSONPath.
Выражение | Результат |
---|---|
$ | Выбирает от корневого узла |
.. | Родительский оператор |
. или [] | Оператор потомка |
.. | Выбирает узлы от текущего узла, соответствующего выбору |
@ | Выбирает текущий узел |
?() | Применяет выражение по фильтру |
Примеры:
{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } } }
XPath | JSONPath | Result |
|
| элементы “author” всех элементов “book” в “store” |
|
| все элементы “author” |
|
| всё содержимое в “store” |
|
| значение цены элемента “price” всех элементов в “store” |
|
| третий элемент “book” |
|
| последний элемент “book” |
|
| первые 2 элемента “book” |
|
| фильтровать все элементы “book” со значением “isbn” |
|
| фильтровать все элементы “book” со значением цены “price“ меньше, чем 10 |
|
| все элементы в XML документе. Все члены JSON структуры. |