2015-05-12 2 views
1

Я разработчик C# и имею потребность работать в проекте vb.net. Я столкнулся с простым вопросом, мне нужно, чтобы преобразовать объект класса в JSON строку в vb.net.Problem это когда я проверяю строку после преобразования я получаю выход как:Преобразование объекта класса vb.net в строку JSON в vb.net

[{},{},{}] 

Я пытаюсь хранить ценности 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 

ответ

3

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 
+0

Его работы, ТНХ Нгуен KIEN ... но, возможно, я знаю причину, почему он не работал. Я думаю, что частные члены класса не сериализованы. – killer

+1

Конечно, частный член не сериализуется, даже в C# –

1

Похоже, это ваш 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 
Смежные вопросы