从C / AL对象转换为JSON

时间:2017-01-12 04:23:33

标签: microsoft-dynamics navision dynamics-nav

根据标题,有没有办法从C / AL对象转换为JSON对象?如果我没有弄错的话,C / AL中的某些数据类型可以直接转换为.NET对象(字符串,整数等),但我不确定哪些类型是/不是。

我希望使用JSON将表和查询类型变量传输到托管代码。我需要构建整个JSON并在发送之前对其进行序列化吗?或者有什么更简单的方法吗?

我正在寻找是否有办法做这样的事情:

JsonConvert.Serialize(MyTableVariable);
JsonConvert.Serialize(MyQueryVariable);

1 个答案:

答案 0 :(得分:1)

没有将记录/查询转换为json的标准方法。此外,你永远不想在json中看到所有记录的字段。很可能你只需要一小部分字段。您需要手动创建json。

您可以使用RecordRef / FieldRef类型迭代记录的字段并将它们导出到json字段中。如果这样做,它将对系统中的任何记录变量都是通用的。但不确定您是否可以对查询执行相同操作。而且您需要单独处理每个文档。

或者,您可以为每个指定的记录/文档/查询创建XMLPort,并使用它首先将数据导出到xml,然后将xml转换为json。但转换本身和Nav的端口不灵活可能存在问题(如果你需要conplex json结构)。