我有以下代码:
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Module Module1
Structure JSONList
Dim Name, Email As String
Dim Age As Integer
End Structure
Sub Main()
Dim Data(1) As JSONList
Data(0).Name = "Josh"
Data(0).Age = 17
Data(0).Email = "me@mail.co.uk"
Data(1).Name = "Greg"
Data(1).Age = 17
Data(1).Email = "greg@hotmail.co.uk"
Dim JSONEncode As String
JSONEncode = JsonConvert.SerializeObject(Data)
Console.WriteLine(JSONEncode)
Console.WriteLine()
Console.WriteLine()
Dim JSONDecode() As JSONList = JsonConvert.DeserializeObject(JSONEncode)
Console.WriteLine(JSONDecode(0).Name)
Console.ReadKey()
End Sub
End Module
脚本的第一个编码部分用于将编码后的字符串存储到数据库中,输出为:
[{"Name":"Josh","Email":"me@mail.co.uk","Age":17},{"Name":"Greg","Email":"greg@hotmail.co.uk","Age":17}]
现在,当我尝试解码此 JSON 字符串时,出现错误Unable to cast object of type 'Newtonsoft.Json.Linq.JArray' to type 'JSONList[]'.
我需要以 JSON 格式对数据进行编码,以便我可以在使用 PHP 对其进行解码的网站中使用它。我正在使用 Visual Basic 2010 和 JSON.NET。