将 vb.net 类对象转换为 vb.net 中的 JSON 字符串
Posted
技术标签:
【中文标题】将 vb.net 类对象转换为 vb.net 中的 JSON 字符串【英文标题】:Convert vb.net class object to JSON string in vb.net 【发布时间】: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
【问题讨论】:
【参考方案1】:message
、status
需要声明为属性。
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
【讨论】:
以上是关于将 vb.net 类对象转换为 vb.net 中的 JSON 字符串的主要内容,如果未能解决你的问题,请参考以下文章