gpt4 book ai didi

vb.net - JSON.Net VB 反序列化不起作用

转载 作者:行者123 更新时间:2023-12-04 17:57:38 25 4
gpt4 key购买 nike

我是 VB 新手,正在尝试编写一个导出和导入 JSON 的网络服务。

我正在使用 JSON.NET 3.5 并且可以很好地序列化:

我的 token 类是:

<DataContract()> _
Public Class Token
<DataMember()> _
Public TokenID As String

<DataMember()> _
Public Issued As Date

<DataMember()> _
Public Expires As Date

<DataMember()> _
Public UserName As String

<DataMember()> _
Public CompanyID As String

<DataMember()> _
Public ApplicationID As Double

<DataMember()> _
Public UserID As Double

<DataMember()> _
Public DeviceID As Double

<DataMember()> _
Public DeviceSerialNumber As String

<DataMember()> _
Public IsValid As Boolean

<DataMember()> _
Public DebugText As String

(我从 MS 的序列化开始,但我想我会尝试 JSON.NET)

我序列化:

Dim ThisToken 作为新 token
ThisToken.DebugText = "等等"
等等
    JSONString = Newtonsoft.Json.JsonConvert.SerializeObject(ThisToken)

我从网络服务得到这个输出:

{"TokenID":"9eaae348-5cbd-46ac-8ba9-83720ac07740","Issued":"/Date(1300422761886+0800)/","Expires":"/Date(130046598180"UserName)"+0 :"1234","CompanyID":"6","ApplicationID":1.0,"UserID":29.0,"DeviceID":1.0,"DeviceSerialNumber":"9149520800758","IsValid":true,"DebugText":""}

到目前为止,我认为很好。

为了测试反序列化是否有效,我想我会尝试反序列化我刚刚序列化的内容。因此,我创建了一个接受字符串的网络服务,并将上述内容粘贴到其中。

去链化的代码是:
    Dim ThisToken As New Token

ThisToken = Newtonsoft.Json.JsonConvert.DeserializeObject(JSonString)

当我使用 VS2005 内部调试/IE 测试运行代码时,出现 http500 内部服务器错误。

如果我在序列化后立即尝试反序列化,我也会遇到同样的问题。

我认为问题的一部分是我遵循的代码是 c#;从 json.net 页面:
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);

我可以看到在 c# 中有一个 <Product>在 vb 中不容易出现的部分?

我毫不怀疑 newtonsoft json.net 产品运行良好;我确定我没有做对。

帮助 ?

安德鲁

最佳答案

VB 等价于

Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);


Dim deserializedProduct as Product = JsonConvert.DeserializeObject(Of Product)(Json)

所以我想你想要
Dim ThisToken as Token = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Token)(JSonString)

关于vb.net - JSON.Net VB 反序列化不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5348458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com