Как десериализовать "многоуровневый" JSON в VB.NET?
Всем привет,
Я пытаюсь десериализовать некоторые JSON в Visual Basic.
Однако у меня возникли некоторые проблемы. Я использую Newtonsoft. Json.
Но я, кажется, продолжаю получать эту ошибку, когда пытаюсь десериализовать какой-то JSON:
Текст JSON:
{"id":"e7cc8ec97b294d2484843d330f136bbd","name":"iProgramIt","properties":[{"name":"textures","value":"eyJ0aW1lc3RhbXAiOjE0NzAyMDkwOTIzNzQsInByb2ZpbGVJZCI6ImU3Y2M4ZWM5N2IyOTRkMjQ4NDg0M2QzMzBmMTM2YmJkIiwicHJvZmlsZU5hbWUiOiJpUHJvZ3JhbUl0IiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2Y3ZjZmMGU2YTJhM2Q2ZGI2OWE0YWZhOWZlZjI4ZWE0ZDU2ZjM3MTk5Mjc3Zjk1YzFkMmI1ZjBhYWE0ZTIifX19"}]}
Ошибка, когда я пытаюсь десериализовать его:
Newtonsoft.Json.JsonSerializationException was unhandled HResult=-2146233088 Message=Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Minecraft_Report_Generator.Form1+PropertyX' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Ниже приведен мой код:
Public Class PropertyX Public Property name As String Public Property value As String Public Property signature As String End Class Public Class Skins_Base Public Property id As String Public Property name As String Public Property properties As PropertyX End Class Public Class UUID_basic Public Property id As String Public Property name As String Public Property legacy As Boolean Public Property demo As Boolean End Class Dim retrieveString As String = GETX(Basic_USER & TextBox1.Text) Dim obj = JsonConvert.DeserializeObject(Of UUID_basic)(retrieveString) Dim SkinsBase As String = GETX("https://sessionserver.mojang.com/session/minecraft/profile/" & obj.id) Dim xObj = JsonConvert.DeserializeObject(Of Skins_Base)(SkinsBase)
Последняя строка этого кода-это та, которая ошибочна. Кроме того, я извлек из своего кода биты и фрагменты, относящиеся к этому обстоятельству, поэтому я понимаю, что вы не можете вызывать функции и т. д. из класса.
Заранее спасибо,
-ипрограммировать
Что я уже пробовал:
Я попробовал погуглить в интернете, но не нашел ничего подходящего к моим обстоятельствам. Я пробовал просматривать форумы, подобные этому, и несколько других. Я ничего не нашел.