0

Web サービスを使用して、データベース テーブルからユーザーのコレクションの Json を返そうとしています。私は .NET を初めて使用し (1 週間未満の経験)、AJAX に UpdatePanel を使用したくありません。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

DataContractJsonSerializer を提案してくれた RPM1984 に感謝します。作業コードは次のとおりです。

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 に答える