JSON シリアル化

Download sample

このサンプルでは、DataContractJsonSerializer を使用して、JavaScript Object Notation (JSON) 形式のデータをシリアル化および逆シリアル化する方法を示します。このシリアル化エンジンによって、JSON データを .NET Framework 型のインスタンスに変換したり、また JSON データに戻したりできます。DataContractJsonSerializer では、DataContractSerializer と同じ型をサポートしています。JSON データ形式は、特に Asynchronous JavaScript and XML (AJAX) スタイルの Web アプリケーションを作成するときに便利です。Windows Communication Foundation (WCF) での AJAX サポートは、ScriptManager コントロールを介して ASP.NET AJAX と共に使用するために最適化されています。ASP.NET AJAX と共に Windows Communication Foundation (WCF) を使用する例については、「AJAX のサンプル」を参照してください。

Noteメモ :

このサンプルをビルドして実行するには、.NET Framework Version 3.5 をインストールする必要があります。Visual Studio 2008 では、プロジェクト ファイルとソリューション ファイルを開く必要があります。

Noteメモ :

このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

このサンプルでは、シリアル化および逆シリアル化を示すために、Person データ コントラクトを使用しています。

[DataContract]
    class Person
    {
        [DataMember]
        internal string name;

        [DataMember]
        internal int age;
    }

Person 型のインスタンスを JSON にシリアル化するには、最初に DataContractJsonSerializer を作成し、次に WriteObject メソッドを使用して JSON データをストリームに書き込みます。

Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);

メモリ ストリームには有効な JSON データが含まれています。

{“age”:42,”name”:”John”}

このサンプルでは、JSON データからオブジェクトへの逆シリアル化を示します。次に、ストリームを巻き戻し、ReadObject を呼び出します。

Person p2 = (Person)ser.ReadObject(stream1);

p2 オブジェクトを調べることで、JSON データが正しく逆シリアル化されていることがわかります。

サンプルを設定、ビルド、および実行するには

  1. Windows Communication Foundation サンプルのビルド」の説明に従って、ソリューション JsonSerialization.sln をビルドします。

  2. 作成されたコンソール アプリケーションを実行します。

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.