Я тестировал жидкий шаблон Shopify для выполнения преобразования данных из XML в XML/JSON. Жидкий шаблон — это один из инструментов шаблонирования, упомянутых на сайте Microsoft для выполнения преобразования данных в Logic App (другим инструментом является почтенный XSLT).
Я не использовал XSLT раньше, но по сравнению с жидким шаблоном последний кажется более дружественным. Поэтому я начал использовать жидкий шаблон для своего исследования.
Ниже приведены два замечания, которые я обнаружил, и обходной путь, который мне нужно сделать, чтобы выполнить поставленную задачу.
-
Синтаксические различия между liquid и dotliquid (используется Microsoft):
a. Капитализация первой буквы, т.е.Append
вместоappend
.
b. Различные именования, т.е.DividedBy
вместоdivided_by
.Проблема для синтаксических различий заключается в том, что нет никакой ошибки. Скрипт просто успешно выполняется, но функции фильтра не выполняются 🙄.
-
Невозможно отличить один дочерний узел от списка дочерних узлов. Для примера ниже приведены 2 корректных сниппета, которые могут быть интерпретированы по-разному.
Сниппет 1
<order> <orderItem> <itemName>Item 1</itemName> </orderItem> </order>
Сниппет 2
<order> <orderItem> <itemName>Item 1</itemName> </orderItem> <orderItem> <itemName>Item 2</itemName> </orderItem> </order>
Первый сниппет интерпретирует
order
как объект, содержащийorderItem
. С другой стороны, второй сниппет интерпретируетorder
как _массив _of `orderItem 😅.К счастью, у Microsoft есть JSONArrayFor. Используя JSONArrayFor вместо цикла For, мы можем заставить
order
рассматриваться как массив, независимо от количестваorderItem
внутриorder
.