加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – JSON.Net VB反序列化无法正常工作

发布时间:2020-12-17 07:22:09 所属栏目:百科 来源:网络整理
导读:我是VB的新手,并试图编写一个导出和导入 JSON的Web服务. 我正在使用JSON.NET 3.5并且可以序列化很好: 我的令牌课程是: DataContract() _ Public Class Token DataMember() _ Public TokenID As String DataMember() _ Public Issued As Date DataMember()
我是VB的新手,并试图编写一个导出和导入 JSON的Web服务.

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

我的令牌课程是:

<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作为新令牌
ThisToken.DebugText =“blah”
等等

JSONString = Newtonsoft.Json.JsonConvert.SerializeObject(ThisToken)

我从Web服务获得此输出:

{“TokenID”:“9eaae348-5cbd-46ac-8ba9-83720ac07740”,“Issued”:“/ Date(1300422761886 0800)/”,“Expires”:“/ Date(1300465961886 0800)/”,“UserName”:“ 1234”,“CompanyID”: “6”,“的applicationID”:1.0,“用户ID”:29.0,“的DeviceID”:1.0 “DeviceSerialNumber”: “9149520800758”,“的IsValid”:真 “DebugText”: “”}

到目前为止,我认为这么好.

为了测试反序列化是否有效,我想我会尝试反序列化我刚刚序列化的内容.所以我创建了一个接受字符串的web服务,并将上面的内容粘贴到其中.

deseralise的代码是:

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读