【发布时间】:2015-02-18 15:09:40
【问题描述】:
我正在使用 JSon.net 反序列化从 GravityForms Web API 获取的 json 对象。
我得到的json是这个……
{"status":200,"response":{
"12":{"id":"12","title":"Test Form","entries":"1"},
"1":{"id":"1","title":"What's My Home Worth?","entries":"92"}
}
}
我要反序列化的 VB.net 对象是
Namespace Forms
Public Class GFForm
Public Property id As String
Public Property title As String
Public Property entries As String
End Class
Public Class Response
<JsonProperty("1")>
Public Property GFForms() As GFForm
End Class
Public Class TopLevel
Public Property status As Integer
Public Property response As Response
End Class
End Namespace
我正在执行这样的 JsonConvert 语句..
Dim obj As GravityForms.Forms.TopLevel
obj = JsonConvert.DeserializeObject(Of GravityForms.Forms.TopLevel)(str)
似乎成功地将 json 反序列化为我的 vb 对象,但我只得到 1 个响应对象。我应该得到其中的 2 个吧?
奇怪的是,我得到的 GFForm 是第二个 (ID:1),这使得它看起来像是在写入第一个对象 (ID:12) 的值。
任何帮助都会很棒,因为我在 2 天的大部分时间里一直在搞砸这个,我迷路了。
编辑:
这在我上面的问题中并不清楚。我不知道从 Web 服务返回的 GFForm 对象的数量。它可以是 2(如示例中所示),也可以是 32 或 45 或其他任何值。
我想将 GFForm 对象放在我可以绑定到 datagridview 的东西中
【问题讨论】:
标签: json vb.net serialization webforms