DataContractJsonSerializer サンプル

この記事では、JsonSerialization サンプルについて説明します。

Note

これは DataContractJsonSerializer のサンプルです。 JSON のシリアル化と逆シリアル化が関連するほとんどのシナリオでは、System.Text.Json 名前空間の API をお勧めします。

DataContractJsonSerializer では、DataContractSerializer と同じ型をサポートしています。 JSON データ形式は、特に Asynchronous JavaScript and XML (AJAX) スタイルの Web アプリケーションを作成するときに便利です。 Windows Communication Foundation (WCF) の AJAX サポートは、ScriptManager コントロール経由で ASP.NET AJAX と共に使用するために最適化されています。 Windows Communication Foundation (WCF) を ASP.NET AJAX と共に使用する方法の例が必要であれば、AJAX サンプル ページを参照してください。

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

このサンプルでは、シリアル化および逆シリアル化を示すために、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. 作成されたコンソール アプリケーションを実行します。