用 vb.net 反序列化 JSON
Deserialize JSON with vb.net
这是我手动创建的class
Public Class ZohoList
Public Property Select_Store() As String
Get
Return m_Select_Store
End Get
Set
m_Select_Store = Value
End Set
End Property
Private m_Select_Store As String
End Class
Public Class RootObject
Public Property Zoho_List As List(Of ZohoList)
Get
Return m_Zoho_List
End Get
Set
m_Zoho_List = Value
End Set
End Property
Private m_Zoho_List As List(Of ZohoList)
End Class
在我收到 JSON 这样的回复后
{
"Store_Money_Snapshot":[
{
"TODO":"YES",
"Date_field":"10-May-2018",
"Xpawn_Money":"3562",
"Select_Store":"TEST",
"Total_Counted_Money":"$ 3,000.00",
"Store_from_Xpawn_pc2":"TEST",
"Discrepancy_Amount":"$ -562.00",
"Store_Problem_fixed":"NO",
"ID":"1111111111111111111",
"Image":"",
"Store_Closing_Balance":"$ 33,482.00"
},
{
"TODO":"YES",
"Date_field":"10-May-2018",
"Xpawn_Money":"10234",
"Select_Store":"TEST2",
"Total_Counted_Money":"$ 9,800.00",
"Store_from_Xpawn_pc2":"TEST2",
"Discrepancy_Amount":"$ -434.00",
"Store_Problem_fixed":"NO",
"ID":"2222222222222",
"Image":"",
"Store_Closing_Balance":"$ 33,482.00"
}
]
}
我的 vb.net 对象反序列化代码分为两行
Dim myO = JsonConvert.DeserializeObject(Of RootObject)(response)
Dim items = myO.Zoho_List
For Each item In items
lTodo.Add(item.Select_Store.ToString)
'Now comes th code
Next
从整个响应中我只需要 Select_Store 值所以在 class 中我只输入那个值
我也尝试将所有值放入我的 class 但它仍然不会反序列化 JSON 响应
您的 RootObject
与第一个大括号 {
配对。
json 中的“根对象”上有一个 属性:Store_Money_Snapshot
,它不会出现在您的 RootObject
中的任何地方。
Store_Money_Snapshot
是数组或 List<>
或对象。这些对象包含您的 Select_Store
属性。
所以这样的事情应该会让你感动:
Public Class RootObject
' RootObject is a HORRIBLE name.
Public Property Store_Money_Snapshot As List(Of ZohoList)
End Class
Public Class ZohoList
' Again, ZohoList is a HORRIBLE name.
Public Property Select_Store As String
End Class
我强烈建议您考虑使用更准确的描述性名称来命名您的 类。
这是我手动创建的class
Public Class ZohoList
Public Property Select_Store() As String
Get
Return m_Select_Store
End Get
Set
m_Select_Store = Value
End Set
End Property
Private m_Select_Store As String
End Class
Public Class RootObject
Public Property Zoho_List As List(Of ZohoList)
Get
Return m_Zoho_List
End Get
Set
m_Zoho_List = Value
End Set
End Property
Private m_Zoho_List As List(Of ZohoList)
End Class
在我收到 JSON 这样的回复后
{
"Store_Money_Snapshot":[
{
"TODO":"YES",
"Date_field":"10-May-2018",
"Xpawn_Money":"3562",
"Select_Store":"TEST",
"Total_Counted_Money":"$ 3,000.00",
"Store_from_Xpawn_pc2":"TEST",
"Discrepancy_Amount":"$ -562.00",
"Store_Problem_fixed":"NO",
"ID":"1111111111111111111",
"Image":"",
"Store_Closing_Balance":"$ 33,482.00"
},
{
"TODO":"YES",
"Date_field":"10-May-2018",
"Xpawn_Money":"10234",
"Select_Store":"TEST2",
"Total_Counted_Money":"$ 9,800.00",
"Store_from_Xpawn_pc2":"TEST2",
"Discrepancy_Amount":"$ -434.00",
"Store_Problem_fixed":"NO",
"ID":"2222222222222",
"Image":"",
"Store_Closing_Balance":"$ 33,482.00"
}
]
}
我的 vb.net 对象反序列化代码分为两行
Dim myO = JsonConvert.DeserializeObject(Of RootObject)(response)
Dim items = myO.Zoho_List
For Each item In items
lTodo.Add(item.Select_Store.ToString)
'Now comes th code
Next
从整个响应中我只需要 Select_Store 值所以在 class 中我只输入那个值
我也尝试将所有值放入我的 class 但它仍然不会反序列化 JSON 响应
您的 RootObject
与第一个大括号 {
配对。
json 中的“根对象”上有一个 属性:Store_Money_Snapshot
,它不会出现在您的 RootObject
中的任何地方。
Store_Money_Snapshot
是数组或 List<>
或对象。这些对象包含您的 Select_Store
属性。
所以这样的事情应该会让你感动:
Public Class RootObject
' RootObject is a HORRIBLE name.
Public Property Store_Money_Snapshot As List(Of ZohoList)
End Class
Public Class ZohoList
' Again, ZohoList is a HORRIBLE name.
Public Property Select_Store As String
End Class
我强烈建议您考虑使用更准确的描述性名称来命名您的 类。