【问题标题】:Convert vb.net class object to JSON string in vb.net将 vb.net 类对象转换为 vb.net 中的 JSON 字符串
【发布时间】:2015-07-23 01:41:00
【问题描述】:

我是一名 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

【问题讨论】:

    标签: json vb.net jsonserializer


    【解决方案1】:

    messagestatus需要声明为属性。

    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
    

    【讨论】:

    • 它的工作,thx Nguyen Kien...但我可以知道它为什么不工作的原因。我认为私有类成员没有序列化。
    • 当然,私有成员是不序列化的,即使在c#中也是如此
    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 2013-03-26
      • 1970-01-01
      • 2019-05-30
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多