【发布时间】:2019-08-07 15:42:26
【问题描述】:
我正在开发一个 REST 模拟服务。我使用 DotLiquid。我想将 POST 正文解析为来自 XML 和 JSON 的对象。
DotLiquid 适用于匿名类型,例如
var input = new
{
Body = new { Foos = new[] { new{ Bar = "OneBar" }, new { Bar = "TwoBar" } } }
};
var template = Template.Parse(@"{% for item in Body.Foos %}
{{ item.Bar }}
{% endfor %}");
Console.WriteLine(template.Render(Hash.FromAnonymousObject(input)));
Console.ReadLine();
输出:
单条
双栏
但对JObject 执行相同操作不会输出任何内容
var json = "{ 'Foos': [{ 'Bar': 'OneBar' }, { 'Bar': 'TwoBar' }] }";
var input = new
{
Body = JObject.Parse(json)
};
var template = Template.Parse(@"{% for item in Body.Foos %}
{{ item.Bar }}
{% endfor %}");
Console.WriteLine(template.Render(Hash.FromAnonymousObject(input)));
Console.ReadLine();
【问题讨论】: