我正在尝试使用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)
答案 0 :(得分: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