我正在使用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产品运行良好;我确信我做的不对.
救命 ?
安德鲁
解决方法
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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。