【发布时间】:2020-04-18 16:34:19
【问题描述】:
我想使用ExpandoObject 或任何其他可以从 JSON 字符串生成的数据类型呈现 Scriban 模板:
var json = "....";
var dyn = JsonConvert.DeserializeObject<ExpandoObject>(json);
var template = Scriban.Template.Parse("Hello {{ data.foo }}!");
var result = template.Render(dyn);
Scriban 不适用于ExpandoObjects,因为它们被解析为{ key = '', value = '' } 对象的列表。在我的用例中,声明数据的类型不是一个选项,因为 JSON 模式是先验未知的。
将 ExpandoObject 强制转换为动态显示与直接使用
ExpandoObject相同的行为。我尝试将 JSON 反序列化为
dynamic,这会导致异常:
System.Reflection.TargetParameterCountException:“参数计数不匹配。”
我能否以某种方式转换数据或配置 Scriban 以呈现动态数据?
【问题讨论】: