Документация REST действия
Использование JSONPath
Использование JSONPath
JSONPath | Описание |
---|---|
$ | Корневой объект / элемент |
@ | Текущий объект / элемент |
. | Оператор дочернего элемента |
.. | Рекурсивный оператор потомка |
* | Подстановочный знак, соответствующий всем объектам / элементам независимо от их имен |
[] | Оператор нижнего индекса |
[,] | Оператор объединения для альтернативных имен или индексов массива как набора |
[start:end:step] | Оператор среза массива |
?() | Применяет выражение фильтра (скрипта) посредством статической оценки |
() | Выражение скрипта посредством статической оценки |
Примеры JSONPath выражений:
JSONPath | Описание |
---|---|
$.store.book[*].author | Авторы всех книг в магазине |
$..author | Все авторы |
$.store.* | Все, что есть в магазине: книги и красный велосипед. |
$.store..price | Все цены в магазине |
$..book[2] | Третья книга |
$..book[(@.length-1)] | Последняя книга по индексу скрипта |
$..book[-1:] | Последняя книга через срез |
$..book[0,1] | Первые две книги через индексный союз |
$..book[:2] | Первые две книги через срез массива индексов |
$..book[?(@.isbn)] | Отфильтровать все книги с номером isbn |
$..book[?(@.price<10)] | Отфильтровать все книги дешевле 10 |
$..book[?(@.price==8.95)] | Отфильтровать все книги стоимостью 8,95 |
$..book[?(@.price<30 && @.category=="fiction")] | Отфильтровать все художественные книги дешевле 30 |
$..* | Все члены структуры JSON (Без ключей) |
{ "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 } }}
Примеры боевого использования
Получение значения поля
Допустим Вы методом crm.invoice.get
запрашивает данные по какому-то счёту и вам нужно получить из него занчение поля "Комментарий менеджера" COMMENTS
.
Тогда в поле JSONPath Вы должны указать $.COMMENTS
.
Получение массива значений
Допустим Вам нужно получить ID всех сделок, в которых ответственный Коля Петров , для дальнейшей передачи их на Ирину Комарову.
Тогда используете метод crm.deal.list
, получаете массив данных по фильтру "Коля Петров". Из него чтобы выбрать все ID в поле JSONPath Вы должны указать $[*].ID
.