0

我正在尝试使用 Web 服务为数据库表中的用户集合返回 Json。我只是 .NET 的新手(< 1 周经验),我不想将 UpdatePanel 用于 AJAX。我尝试过使用 JavaScriptSerializer 和 Json.NET 进行序列化。这两种情况似乎都产生了一个无限循环。

我究竟做错了什么?有一个更好的方法吗?我很感激任何建议。谢谢。

    Dim myUser As New HagarDB.Users
    myUser.Read()

    'Dim jsSerializer As New System.Web.Script.Serialization.JavaScriptSerializer
    'Dim sbUsers As New System.Text.StringBuilder
    'jsSerializer.Serialize(myUser, sbUsers)

    Dim json = JsonConvert.SerializeObject(myUser, Formatting.Indented)
4

1 回答 1

1

感谢 RPM1984 对 DataContractJsonSerializer 的建议。这是工作代码:

Public Function GetUsers() As String
    Dim myUser As New HagarDB.Users
    Dim jsonSerializer As New DataContractJsonSerializer(GetType(HagarDB.Users))
    Dim stream As New MemoryStream()

    myUser.Read()
    jsonSerializer.WriteObject(stream, myUser)

    Dim json As String = Encoding.[Default].GetString(stream.ToArray())

    stream.Close()

    Return json


End Function
于 2010-09-01T04:07:57.537 回答