【问题标题】:How to create and store JSON objects in vb.net executable?如何在 vb.net 可执行文件中创建和存储 JSON 对象?
【发布时间】:2013-08-20 11:58:04
【问题描述】:

我在 vb.net 控制台应用程序中找不到将 Dictionary(Of String, Object) 转换为 JSON 对象字符串的方法。

当它在 ASP 中时,我使用 JavaScriptSerializer.Serialize() 方法来序列化字典,但现在我在 vb.net 控制台中,无法访问 System.Web 类

必须在可执行文件中完成,该可执行文件可以自动运行(从 Windows 计划任务中),每天一次,将数据存储在文本文件中(稍后我们将移动到单独的临时数据库),以便数据库的负载更少。

以前这是在 asmx 脚本中完成的,但仅在测试中有效,每天由一个人从 Web 浏览器运行它是不切实际的,因为它为人为错误留下了空间。 我们尝试通过批处理脚本在 IExplorer 中打开页面,但浏览器给出了有关页面安全证书的安全错误,这需要人工交互,这需要尽快自动化。

我不介意你们中的某个人是否有自己的函数,可以将至少一个数组转换为 JSON 对象字符串,以便我可以存储它

【问题讨论】:

  • I'm in vb.net console and have no access to the System.Web,您仍然可以通过向 System.Web(或 System.Web.Extensions)添加 reference 来使用它。
  • @I4V 我要导入它吗?因为导入时出现错误; System.Web.Script 不存在,我需要 System.Web.Script.Serialization 中的 JavaScriptSerializer 类
  • @pythonian29033 References/Add reference
  • 你得解释一下,对不起,我不是.NET开发人员

标签: .net json vb.net


【解决方案1】:

当它在 ASP 中时,我使用 JavaScriptSerializer.Serialize() 方法来序列化字典,但现在我在 vb.net 控制台中,无法访问 System.Web 类

即使在控制台应用程序中,您也可以使用 JavaScriptSerializer。只需添加对 System.Web.Extensions 的引用。

【讨论】:

    【解决方案2】:

    您可以使用JSON.NET 将 vb 数组序列化为 JSON。不要以为有可以序列化Dictionary的lib。

    顺便说一句,我正在使用以下 .vbs 脚本调用 aspx 页面,它运行良好,没有任何安全问题:

    Dim o
    Set o = CreateObject("MSXML2.XMLHTTP")
    
    o.open "GET", "http://myserver/myjob.aspx", False
    o.setRequestHeader "timeout", "1800000"
    o.send
    
    WScript.Quit(0)
    

    还有一批:

    wscript c:\myscript.vbs
    

    【讨论】:

    • 这不是 vbScript 吗?问题是公司的服务器提供自己的安全证书,所以浏览器报错,这个答案与我的问题无关
    • 第一句是您问题的答案(在您编辑之前)。第二个是我如何在 vbscript 中打开网页。尚未使用 ssl 对其进行测试,但可能也可以。
    • 我已经在 cmd 中使用了一个批处理脚本在浏览器中打开了 url。 . .我不确定你是否理解那是什么问题,但我用别人的答案解决了,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2011-04-16
    相关资源
    最近更新 更多