2016-08-14 29 views
0

まず、これが既に投稿されている場合はお詫び申し上げます。私は研究に時間を費やしましたが、解決策は見つかりませんでした。newtonsoft jsonからVB.netのネストされたオブジェクトにアクセスする

私の目標は、vb.netのさまざまなJSONレスポンスのWebリクエストにアクセスすることです。ネストされたレスポンスに問題があります。例:

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/」です。

答えて

0

Nesting of .Net typesaggregation of instances of .Net objectsという2つの概念が混乱しています。 (後者のリンクは、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 

サンプルfiddle

.Netのネストされたタイプの詳細については、Why/when should you use nested classes in .net? Or shouldn't you?を参照してください。 Javaから来ている場合は、What are the fundamental differences between Java and C# in terms of inner/local/anonymous classes?も参照してください.netネストされた型はJavaの内部クラスと同じではありません。

関連する問題