⚠️ В данном разделе рассмотрена лишь часть функций языка JSONata. С полным перечнем доступных функций можно ознакомиться в официальной документации.
🧩 Официальная документация языка JSONata на английском языке: http://docs.jsonata.org/
| Функция | Назначение |
|---|---|
$string() |
Преобразует аргумент в строку |
$substringBefore() |
Возвращает подстроку перед первым вхождением заданной последовательности символов |
$substringAfter() |
Возвращает подстроку после первого вхождением заданной последовательности символов |
$uppercase() |
Возвращает строку с символами, преобразованными в верхний регистр |
$lowercase() |
Возвращает строку с символами, преобразованными в нижний регистр |
$trim() |
Удаляет двойные пробелы, \t и \n из строки |
$contains() |
Проверяет содержится ли в строке подстрока |
$replace() |
Находит вхождения шаблона внутри строки и заменяет их на заданное выражение |
$string() в JSONataПримеры:
$string(5) ⇒ "5"[1..5].$string() ⇒ ["1", "2", "3", "4", "5"]$substringBefore() в JSONataПримеры:
$substringBefore("Hello World", " ") ⇒ "Hello"$substringBefore("Hello World", "ld") ⇒ "Hello Wor"$substringAfter() в JSONataПримеры:
$substringAfter("Hello World", " ") ⇒ "World"$substringAfter("Hello World", "l") ⇒ "lo World"$uppercase() в JSONataПримеры:
$uppercase("Hello World")⇒ "HELLO WORLD"$lowercase() в JSONataПримеры:
$lowercase("Hello World") ⇒ "hello world"$trim() в JSONataПримеры:
$trim(" Hello \n World ") ⇒ "Hello World"$trim("Hello World") ⇒ "Hello World"$contains() в JSONataПримеры:
$contains("abracadabra", "bra") ⇒ true$contains("Hello World", /wo/) ⇒ false$contains("Hello World", /wo/i) ⇒ true$replace() в JSONataПримеры:
$replace("John Smith and John Jones", "John", "Mr") ⇒ "Mr Smith and Mr Jones"$replace("John Smith and John Jones", "John", "Mr", 1) ⇒ "Mr Smith and John Jones"🧩 Официальная документация языка JSONata по строковым функциям на английском языке: http://docs.jsonata.org/string-functions
| Функция | Назначение |
|---|---|
$number() |
Преобразует параметр аргумент в число |
$floor() |
Округление числа в меньшую сторону |
$ceil() |
Округление до ближайшего целого числа |
$round() |
Округляет до определенного количества знаков после запятой (точки). |
$number() в JSONataПримеры:
$number("5") ⇒ 5["1", "2", "3", "4", "5"].$number() ⇒ [1, 2, 3, 4, 5]$floor() в JSONataПримеры:
$floor(5) ⇒ 5$floor(5.3) ⇒ 5$floor(5.8) ⇒ 5$floor(-5.3) ⇒ 6$ceil() в JSONataПримеры:
$ceil(5) ⇒ 5$ceil(5.3) ⇒ 6$ceil(5.8) ⇒ 6$ceil(-5.3) ⇒ 5$round() в JSONataПримеры:
$round(123.456) ⇒ 123$round(123.456, 2) ⇒ 123.46$round(123.456, -1) ⇒ 120$round(123.456, -2) ⇒ 100$round(11.5) ⇒ 12$round(12.5) ⇒ 12$round(125, -1) ⇒ 120🧩 Официальная документация языка JSONata по числовым функциям на английском языке: http://docs.jsonata.org/string-functions
| Функция | Назначение |
|---|---|
$boolean() |
Преобразует аргумент в логическое значение |
$not() |
Возвращает логическое значение НЕ, относящееся к аргументу, то есть инвертирует его |
$exists() |
Проверяет имеет ли выражение значение или соответствует ли чему-то |
$boolean() **в JSONataПримеры:
$boolean(null) ⇒ false$boolean(1) ⇒ true$boolean(0) ⇒ false$boolean("Hello") ⇒ true$boolean("") ⇒ false$not() **в JSONataПримеры:
$**not**(true) ⇒ false$**not**(false) ⇒ true🧩 Официальная документация языка JSONata по функциям логического типа данных на английском языке: http://docs.jsonata.org/boolean-functions
$getCategory(categoryId) - возвращает название по ID категории, соответствующее таблице категорий в конфигурации XML фида. Используется для мэппинга файлов типа YML с таблицей категорий внутри файла.
$getProduсtId( attribute, value) - возвращает значение атрибута productId товара в каталоге атрибутом attribute равным значению value. Используется для привязки записи загружаемого фида к уже загруженными записям с каталоге.
$getProposal(feedName, productId) - возвращает атрибуты предложения c ID товара равного productId, находящегося в источнике с именем feedName.
$getDictValue(dictionaryName, selectorField, selectorValue, valueField) - возвращает значение valueField словаря dictionaryName, в котором поле selectorField равно значению selectorValue. Используется для размерных таблиц и иных преобразований.
$getDictionary(dictionaryName) - возвращает массив values словаря по имени dictionaryName.
$F.feedName - возвращает запись с атрибутами конкретного импорта, подключенного в фильтрах. Используется для получения значения атрибутов конкретного подключения.
$A.atributeName - возвращает значение атрибута atributeName данного товара. Важно, чтобы приоритет текущего правила был численно выше, чем у правила, где задается атрибут atributeName. Данная функция позволяет легко получить значение атрибута, если для его получения было использовано сложное громоздкое правило.
$searchDictRecord(dictionaryName, columnName, searchString).columnName