有两种策略。

1)使用动态对象在循环中遍历你的JSON数组,提取需要的字段直接保存到SDA属性中。这是我几年前所做的,当时我必须从一个只能输出JSON的产品中获取数据。一旦你有了最终的SDA,你就可以把它写到一个文件里。

2) 由于你是在IRIS上,你可以使用%JSON.Adaptor。我没有使用过它,但我认为它的工作原理与%XML.Adaptor一样。如果你的类继承了%JSON.Adaptor,它基本上就知道你的JSON结构。然后,你可以创建Cache对象作为你的数据模型,用于输入的JSON,并简单地将其属性复制到SDA属性中。

希望这有帮助。

更多讨论请参考英文社区:https://community.intersystems.com/post/how-transform-json-sda-and-write...

我在VSCode中做过几次,我通常只是把XML类导入我的系统,然后一旦它们被加载,我就使用VSCode ObjectScript Explorer,把我的类从那里导出到我的项目。我只做过一两次,所以我不知道是否有更好的方法。

如果你有兴趣,这些也是一些手动操作的方法,可以用脚本来做你所有的文件。

USER>do $system.OBJ.Load("C:\Users\psteiwer\Desktop\Class.xml" )
 
加载开始于2020年10月3日17:40:03
载入文件C:\Users\psteiwer\Desktop\Class.xml为xml
导入的类。PivotSubscriptions.Utils
加载完毕,成功。
 
USER>do $system.OBJ.ExportUDL("PivotSubscriptions.Utils.CLS", "C:\Users\psteiwer\Desktop\Class.cls" )

请参考以下文档:Installing InterSystems IRIS on Microsoft Windows > Windows User Accounts

"在安装InterSystems IRIS时,你必须选择Windows用户帐户来运行InterSystems服务。有两个选择。
默认的SYSTEM帐户(Windows本地系统帐户)。这是在最小的安全安装中使用的。
一个已定义的Windows用户帐户。
在默认的SYSTEM帐户下运行Windows InterSystems服务对许多安装来说是合适的,但在某些情况下会导致与文件权限和网络安全访问有关的问题。如果你预计InterSystems IRIS实例在这些方面有潜在的问题,例如由于你的网络配置或安全安排,为Windows InterSystems服务指定一个具有所需权限和/或访问权的帐户,如一个域管理员帐户。
关于如何在安装后改变服务帐户的说明,请参见 "管理Windows用户对InterSystems IRIS实例的访问 "部分。

Changing the InterSystems Service Account

<install-dir>\bin\IRISinstall.exe setserviceusername <instance-name> <username> <password>