Я новичок в VB и пытаюсь написать веб-сервис, который экспортирует и импортирует JSON.
Я использую 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 as New Token ThisToken.DebugText = "blah" и так далее
JSONString = Newtonsoft.Json.JsonConvert.SerializeObject(ThisToken)
И я получаю этот вывод от веб-сервиса:
{"TokenID":"9eaae348-5cbd-46ac-8ba9-83720ac07740","Выпущено":"/Дата(1300422761886+0800)/","Срок действия":"/Дата(1300465961886+0800)/","Имя пользователя" :"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)
Когда я запускаю код с помощью внутреннего тестирования отладки/IE VS2005, я получаю внутреннюю ошибку сервера http500.
У меня также возникает та же проблема, если я пытаюсь десериализовать сразу после сериализации.
Я думаю, что часть проблемы заключается в том, что код, которым я следовал, был c#; со страницы json.net:
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);
Я вижу, что в С# есть часть <Product>
, которая не всегда очевидна в vb?
Я не сомневаюсь, что продукт newtonsoft json.net отлично работает; Я уверен, что делаю что-то не так.
Помощь ?
Андрей