我正在将具有嵌套数组的JSON字符串反序列化到vb.net对象。 JSON是有效的,我可以对大部分内容进行反序列化。但是,我不清楚我的类属性是否正确编写以使用嵌套数组来完成此操作。我也得到一个奇怪的错误,注意" char类型的值不能转换为clsJson.datum,"当任何地方都没有char类型时(我可以看到!)。
我的班级:
Public Class clsJson
Public Property latitude As Double
Public Property minutely As Minly
End Class
Public Class Minly
Public Property summary As String
Public Property icon As String
'***Public data As Datum()
Public Property data() As List(Of Datum)
End Class
Public Class Datum
Public Property time As Integer
Public Property summary As String
Public Property icon As String
Public Property precipIntensity As Double
Public Property precipProbability As Double
End Class
我的代码:
Imports Newtonsoft.Json
Public Class test_1a
Dim strJsontxt As String = Nothing
Dim myWeather As clsJson
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
'***** paste strJson to textbox; final will download from web
strJsontxt = TextBox3.Text
txtInput.Text = strJsontxt
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Try
myWeather = JsonConvert.DeserializeObject(Of clsJson)(strJsontxt) 'works
Console.WriteLine("Latitude: " & myWeather.latitude) *'works*
Console.WriteLine("Minutely_Summary: " & myWeather.minutely.summary) *'works*
Console.WriteLine(myWeather.minutely.data) *'returns* ‘System.Collections.Generic.List`1[JSON_2.Datum]
For Each data As Datum In strJsontxt '*Error:* "Value of type char cannot be converted to clsJson.datum”
Console.WriteLine("Min_data.toString: " & myWeather.minutely.data.time)
Next
debugOutput(txtInput.Text)
Catch ex As Exception
MsgBox(ex.ToString)
debugOutput(txtInput.Text)
End Try
End Sub
End Class
我的JSON(已验证 - 确定):
{
"Latitude": 26.422518,
"Longitude" : 80.147245,
"minutely": {
"summary": "Partly cloudy for the hour.",
"icon": "partly-cloudy-day",
"data": [
{
"time": 1503329280,
"precipIntensity": 0,
"precipProbability": 0
},
{
"time": 1503329340,
"precipIntensity": 0,
"precipProbability": 0
},
{
"time": 1503329400,
"precipIntensity": 0,
"precipProbability": 0
}
]
}
}
问题:
和
我确信我的clsJson中有一些乱序或丢失的东西。谁能提供任何帮助。我已经很好地研究了这个。在How to parse json array in vb.net?有类似的东西,但不完全相同。谢谢!