Asp.Net

シリアライズ

JavaScriptSerializer利用して、オブジェクトをJSON形式のデータにシリアライズできる

DLL:System.Web.Extensions.dll

名前空間:System.Web.Script.Serialization

オブジェクトをシリアライズ方法

Dim serializer As New JavaScriptSerializer()
serializer.MaxJsonLength = Int32.MaxValue
Dim listObj As String = serializer.Serialize(myObject)
Session("ListModel") = System.Web.HttpUtility.UrlEncode(listObj)

シリアライズしたJSON形式の文字列を画面のHiddenコントロールに値を設定する。

<input type="hidden" id="ListModel" name="ListModel" value="<%= Session("size").ToString  %>" />

ディシリアライズ

Using stream As New IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonDataString))

    Dim serializer As DataContractJsonSerializer = New DataContractJsonSerializer(resultType)
    result2 = serializer.ReadObject(stream)

End Using

※SilverLightで利用する場合「DataContractJsonSerializer」クラスの名前空間は「System.Runtime.Serialization.Json」ですが、以下のDLLをインポートする必要があります。

System.ServiceModel.Web.dll

注意点

  • プロパティのはReadonlyでは、シリアライズできない。
  • GenericのListでは、パラメータとしてWebMethodのパラメータとして、渡せない
      Jsonの文字列で渡し、サーバ側でデシリアライズする


超多機能のアクセス解析が永久無料!

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:32:41 (1628d)

G|Cg|C@Amazon Yahoo yV

z[y[W yVoC[UNLIMITȂ1~] COiq COsیI