首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Wonderware的ArchestrA / Quickscript.NET中反序列化JSON

在Wonderware的ArchestrA / Quickscript.NET中反序列化JSON
EN

Stack Overflow用户
提问于 2018-05-22 12:18:10
回答 2查看 1.1K关注 0票数 2

我通过Wonderware的ArchestraIDE Quickscript.net脚本语言使用VB/.NET。我看到在.NET中有很多处理JSON反序列化的方法(DataContractJsonSerializer,JavaScriptSerializer,Json.net/Newtonsoft.Json) --但是在Wonderware子集中找不到任何方法。

JavaScriptSerializer似乎不包括在Quickscript.NET的.NET框架中,因为ArchestrA不承认System.Web.Script中的任何东西;DataContractJsonSerializer也是(System.Runtime.Serialization.Json不存在)。

我在Quickscript.net 文档中也没有发现任何关于json的东西。

在此环境中反序列化JSON的标准/最佳方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-25 11:56:09

我建议您使用一个外部程序来测试JSON反序列化作为一个独立的方法(使用一些第三方库(如牛顿软.NET) )将其编译成一个DLL。然后,通过IDE将其导入到ArchestrA框架中,并使用自己的方法。

这将是一种更好的方法,因为使用ArchestrA脚本,您将无法声明类或使用清单,为了更好的理解,在处理好的结构化JSON反序列化时,应该这样做。

这里有一个问题,避免编译一个外部引用另一个代码库。即使您导入了其他库和所有其他依赖项,也无法在运行时处理该外部调用。有一种方法可以正确导入依赖于其他库来执行的DLL,但在我看来,如果您(或其他不知情的人)要在源代码中进行未来的维护,这并不是最佳实践。

我最后的建议是获取开放库的源代码(如Newtonsoft .NET),并将您的程序与其项目一起作为一个类,并将其编译成一个单独的构建。之后,只需导入库并执行适当的方法调用和类实例。

如果您不喜欢使用单个编译项目,请尝试使用ILMerge将两个库合并为一个库,即使它们具有依赖关系,它也在运行时对ArchestrA对象起作用。

票数 4
EN

Stack Overflow用户

发布于 2019-02-23 18:25:54

我使用newtonsoft .net库将其导入Wonderware IDE (Galaxy>Import>Script函数库)

https://www.newtonsoft.com/json

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50467489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档