0
Public Class Foo
Private fooz As Object
Private alao As ArrayList
Public Sub New(ByVal pfooz)
Me.fooz = New Object
Me.alao = New ArrayList()
Me.alao.Add(1)
Me.alao.Add(2)
Me.alao.Add(3)
Me.alao.Add(4)
Me.alao.Add(5)
End Sub
End Class
酒吧
Public Class Bar
Private baz As Integer
Private bar As String
Private foo As Foo
Public Sub New(ByVal pbaz, ByVal pbar, ByVal pfoo)
Me.baz = pbaz
Me.bar = pbar
Me.foo = pfoo
End Sub
End Class
我的形式
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim foo As Foo = New Foo(New Object)
Dim bar As Bar = New Bar(1, "FOOOOOOOOOOOOO, bar?", foo)
Dim fooString As String
Dim barString As String
fooString = Newtonsoft.Json.JsonConvert.SerializeObject(foo)
barString = Newtonsoft.Json.JsonConvert.SerializeObject(bar)
MsgBox(fooString)
MsgBox(barString)
End Sub
End Class
我總是{}作爲答案。怎麼了?
謝謝!加工! JSON.NET可以使用get方法而不是公共成員嗎? – thom 2011-05-17 16:44:22
@ thom:這是屬性的用途。如果你使用公共'Get'方法創建一個公共屬性,JSON.NET將會選擇它。不要嘗試像使用Java一樣使用getXxx()風格的方法。另請注意,如果您想*序列化您的對象,則需要進行其他更改。 – StriplingWarrior 2011-05-17 17:02:25
對於它的價值,我認爲你可以通過向想要序列化的成員添加[JsonProperty屬性](http://james.newtonking.com/projects/json/help/html/T_Newtonsoft_Json_JsonPropertyAttribute.htm)來解決該語義問題無論其訪問修飾符如何。您可能必須將該類指定爲[JsonObject](http://james.newtonking.com/projects/json/help/html/T_Newtonsoft_Json_JsonObjectAttribute.htm)才能正常工作。我真的不確定我的頭頂。作爲面向對象方法的一部分,一些人在哲學上反對吸氣/安裝者,所以這可能是有用的。 – tmesser 2011-05-17 17:04:27