Я новичок в 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 как новый токен
ThisToken.DebugText = "бла"
и так далее
JSONString = Newtonsoft.Json.JsonConvert.SerializeObject(ThisToken)
И я получаю этот вывод от веб-службы:
{ "TokenID": "9eaae348-5cbd-46ac-8ba9-83720ac07740", "Выдано": "/ Date (1300422761886 + 0800) /", "Expires": "/ Date (1300465961886 + 0800) /", "имя_пользователя": "1234", "CompanyID": "6", "ApplicationID": 1,0, "Идентификатор_пользователя": 29,0, "ID устройства": 1.0, "DeviceSerialNumber": "9149520800758", "IsValid": правда, "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 работает нормально; Я уверен, что я что-то не так делаю.
Помощь?
Andrew