用 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

我强烈建议您考虑使用更准确的描述性名称来命名您的 类。