JSON.Net всегда возвращает {} - PullRequest
0 голосов
/ 17 мая 2011

Foo

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

Я всегда получаю {} в качестве ответа.Что не так?

1 Ответ

2 голосов
/ 17 мая 2011

Ни один из этих классов не имеет Public свойств или полей.Если вы хотите представить свои поля как значения, которые должны присутствовать в строке JSON, сделайте их открытыми.В противном случае, что касается сериализатора, вы предоставляете ему объекты без интересных значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...