从newtonsoft json访问VB.net中的嵌套对象



首先,如果这已经发布了,请道歉。我花了一些时间研究,但还没有找到解决办法。

我的目标是访问数据从各种JSON响应的web请求在vb.net。我有嵌套响应的麻烦;一个例子:

Dim JSON as string = '{"url2": {"href": "https://example.com/test2/"}}'

我有这样的类:

Public Class test1
    Public Class url2
        Public href As String
    End Class
End Class

反序列化JSON:

Dim objURL1 As test1 = Newtonsoft.Json.JsonConvert.DeserializeObject(Of test1)(JSON)

这似乎可以正常工作,但是我根本不知道如何访问href值,在这个例子中是"https://example.com/test2/"。

你混淆了两个概念:。net类型的嵌套和。net对象实例的聚合。(后一个链接适用于c#,但也适用于VB.NET)

您想要的是通过包含进行聚合,如下所示:

Public Class Url2
    Public Property href As String
End Class
Public Class Test1
    Public Property url2 as Url2
End Class

然后访问href值:

Dim objURL1 = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Test1)(JSON)
dim href = objURL1.url2.href

样本小提琴。

有关。net中嵌套类型的更多背景信息,请参见为什么/何时应该在。net中使用嵌套类?或者你不应该?如果您来自Java,请参见Java和c#在内部/局部/匿名类方面的根本区别是什么?这解释了。net嵌套类型与Java内部类不同。

相关内容

  • 没有找到相关文章

最新更新