Принцип работы JSONata в Databird
JSONata – это язык запросов и трансформации данных, на котором строятся сложные правила обработки атрибутов в Databird. Правила позволяют преобразовывать, комбинировать и вычислять значения атрибутов при загрузке из источника или при экспорте.
$VALUE – значение привязки
Во всех правилах переменная $VALUE содержит значение поля источника, привязанного к данному атрибуту каталога. Проще говоря: что бы вы ни выбрали при настройке соответствия атрибутов – именно это значение и будет доступно в правиле как $VALUE.
Если правил несколько, каждое следующее получает на вход результат предыдущего – тоже через $VALUE.
Например, если к атрибуту «Цена» привязано поле источника price, то в правиле $VALUE будет равен значению price для каждого товара. Так будет выглядить операция JSONata увеличивающая цену на 10%:
$VALUE * 1.1
Стек правил – последовательное выполнение
Правила можно накладывать друг на друга. Они выполняются поочерёдно сверху вниз: каждое следующее правило получает на вход результат предыдущего – тоже через $VALUE.
Например, если первое правило возвращает строку "синий", то во втором правиле $VALUE уже будет равен "синий", и его можно дальше трансформировать.
Обращение к атрибутам исходных данных товара
Помимо $VALUE, в правиле можно напрямую обратиться к любому атрибуту из исходных данных товара / каталога (для экспортов):
- Если в названии атрибута нет пробелов – просто пишем его название:
Цвет
- Если в названии атрибута есть пробелы – заключаем название в обратные кавычки:
`Цвет товара`
Важно: регистр имеет значение
JSONata чувствителен к регистру. Цвет, цвет и ЦВЕТ – это три разных атрибута. Название атрибута в правиле должно точно совпадать с тем, как оно задано в источнике или каталоге.
Статьи справочника
Подробнее о конкретных операциях и функциях: