将vb.net类对象转换为vb.net中的JSON字符串

时间:2015-05-12 09:13:57

标签: json vb.net jsonserializer

我是c#开发人员,需要在vb.net项目中工作。我面临一个简单的问题,我需要将类对象转换为vb.net中的json字符串。问题是我在转换后检查字符串时输出为:

[{},{},{}]

我正在尝试将3个对象的值存储到其中,但我得到3个空对象{}。 我的代码是这样的:

Imports System.Web.Script.Serialization

Partial Class test
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim serializer As New JavaScriptSerializer
        Dim msgObj As msg
        Dim loginList As New List(Of msg)()

        msgObj = New msg("mubashir", True)
        loginList.Add(msgObj)
        msgObj = New msg("yasir", False)
        loginList.Add(msgObj)
        msgObj = New msg("umar", True)
        loginList.Add(msgObj)
        Dim s As String = serializer.Serialize(loginList)
        Response.Write(s)

    End Sub
End Class
Public Class msg
    Dim message As String
    Dim status As Boolean
    Sub New(ByRef Messag As String, ByVal Stat As Boolean)



        Me.message = Messag
        Me.status = Stat

    End Sub
End Class

2 个答案:

答案 0 :(得分:4)

messagestatus需要声明为Property。

Public Class msg
      Public Property message() As String
      Public Property status() As Boolean
      Sub New(ByRef Messag As String, ByVal Stat As Boolean)
            Me.message = Messag
            Me.status = Stat    
      End Sub
End Class

答案 1 :(得分:2)

看起来这是你的msg类,因为你声明了两个字段而不是两个属性:

Public Class msg
    Public Property message() As String
    Public Property status() As Boolean
    Sub New(ByRef Messag As String, ByVal Stat As Boolean)
        Me.message = Messag
        Me.status = Stat

    End Sub
End Class