Я заинтересован в выполнении преобразований JSON и изучал использование dotliquid.
Чтобы не иметь POCO для входного JSON, просто чтобы можно было отправлять его как переменную, я хотел бы отправить десериализованный JSON. Насколько я понимаю, мы не можем отправить динамический метод рендеринга, и JObject или JArray не работают должным образом. Я попытался десериализовать в словарь , но он не мог обработать вложенные структуры JSON.
жидкости
[
{%- for p in data.names -%}
{
"name" : {{ p.name }}
} {%- unless forloop.Last == true -%},{% endunless %}
{%- endfor -%}
]
код C #
Template template = Template.Parse(File.ReadAllText("Maps/account.liquid"));
var json = JsonConvert.DeserializeObject<Dictionary<string, object>>(
@"{ ""names"":[{""name"": ""John""},{""name"":""Doe""}] }");
var jsonHash = Hash.FromAnonymousObject(new { Data = json});
выход
[
{
"name" :
},
{
"name" :
}
]
Я знаю, что в Microsoft Logic Apps реализована похожая функция с использованием dotliquid. https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-liquid-transform
Какие существуют разные способы? Нужно ли анализировать JObject / JArray для вложенного словаря, или какие есть альтернативы?