У меня возникло множество проблем с проблемой в течение нескольких дней, и я очень расстраиваюсь! Я хотел бы знать, как декодировать массив JSON в VB.NET 4.5 Framework. Я пытаюсь использовать класс deserialize/serialize. Вот это массив:Декодирование сложное JSON Array vb.net
{ "LaunchIDs": [ "2", "3", "4", "5", "6", "7", "8", "9", "10"], "FavoriteID": нулевой, "Имя пользователя": "Тест", "ошибка": 0, "сообщение": "Вы успешно вошли в систему"}
код для массива
Public Class JSONCode
Public LaunchIDs As Integer
Public FavoriteIDAs Integer
Public username As String
Public [error] As Integer
Public message As Integer
End Class
Вот как я использую его внутри приложения.
Dim client As New WebClient()
Dim jsonResponse As String = "{""LaunchIDs"":[""2"",""3"",""4"",""5"",""6"",""7"",""8"",""9"",""10""],""FavoriteID"":null,""username"":""Test"",""error"":0,""message"":""You have successfully logged in""}")
Dim serializer As New JavaScriptSerializer()
Dim response As JSONCode = serializer.Deserialize(Of JSONCode)(jsonResponse)
code = response.error
If code = 0 & response.message = "You have successfully logged in" Then
LoginFunction = True
botids = response.botids
ListBox1.AddItem(botids)
Else
Alert(Style.Critical, response.message)
End If
End If
Массив будет извлечена из веб-адреса (После того, как исправить эту проблему), поэтому его любопытное грязный прямо сейчас. Alert() - это всего лишь небольшая пользовательская функция msgBox.
Я получаю эту ошибку при попытке и отладке. Тип «System.Int32» не поддерживается для десериализации массива.
frmMain.FlatListBox2.AddItem (LaunchIDs) Это дало значение «int32» или что-то, поэтому я попытался переключения AddItem с AddRange. Теперь я получаю Ошибка 1 Значение типа «1-мерный массив Integer» не может быть преобразовано в «1-мерный массив объекта», потому что «Integer» не является ссылочным типом. – user2827489
@ user2827489 См. Обновленный ответ. – IvanH
Это код, который я уже использую. Ну, я понял, проблема, должен был сделать функцию, чтобы преобразовать Integer в массив String. – user2827489