Перейти к основному содержимому

Тестер X/JSON Path


Описание.

Этот инструмент предназначен для проверки корректности данных в форматах XML или JSON и помощи в составлении правильных выражений для парсинга данных.

Как открыть?

Через Панель инструментов.

Через Панель инструментов


Как работать с инструментом?

Как проверить правильность выражения XPath/JSONPath?

Как проверить правильность

1. В поле ввода вставляем код для обработки.
2. Выше добавляем готовое выражение, которое хотим проверить.
3. Нажимаем на кнопку Тест.
4. По итогу в Результате обработки получаем совпадения. Если выражение было составлено правильно, то здесь отобразятся те значения, которые нам и нужны.

Как быстро составить выражение XPath/JSONPath?

Как быстро составить

1. В поле ввода вставляем код для обработки и выделяем тот фрагмент, по примеру которого хотим составить выражение.
2. Нажимаем на кнопку Найти.
3. Теперь в поле с XPath/JSONPath получаем готовое выражение под наши нужды.
4. Можно проверить результат работы выражения по совпадениям, которые оно выдаёт.

Получившееся выражение можно в дальнейшем использовать в экшене Обработка 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
}
}
}

Примеры выражений.

XPathJSONPathРезультат
/store/book/author$.store.book[*].authorИщем элементы author всех элементов book в store.
//author$..authorВсе элементы author.
/store/*$.store.*Берём всё содержимое из store.
/store//price$.store..priceДостаём значение цены из элемента price для всех элементов в store.
//book[3]$..book[2]Получаем третий элемент book.
//book[last()]$..book[(@.length-1)] или $..book[-1:]Последний элемент book.
//book[position()<3]$..book[0,1] или $..book[:2]Первые 2 элемента book.
//book[isbn]$..book[?(@.isbn)]Фильтруем по всем элементам book со значением isbn.
//book[price<10]$..book[?(@.price<10)]Фильтруем по всем элементам book со значением цены price меньше, чем 10.
//*$..*Берём все элементы в XML документе или же все члены JSON структуры.

Полезные ссылки.