JSON-SerialisierungJSON Serialization

Dieses Beispiel zeigt, wie mit DataContractJsonSerializer Daten im JSON-Format (JavaScript Object Notation) serialisiert und deserialisiert werden.This sample demonstrates how to use the DataContractJsonSerializer to serialize and deserialize data in the JavaScript Object Notation (JSON) format. Dieses Serialisierungsmodul konvertiert JSON-Daten in Instanzen von .NET Framework.NET Framework-Typen und wieder zurück in JSON-Daten.This serialization engine converts JSON data into instances of .NET Framework.NET Framework types and back into JSON data. DataContractJsonSerializer unterstützt dieselben Typen wie DataContractSerializer.DataContractJsonSerializer supports the same types as DataContractSerializer. Das JSON-Datenformat ist besonders beim Schreiben von Webanwendungen im Ajax-Stil (Asynchronous JavaScript and XML) nützlich.The JSON data format is especially useful when writing Asynchronous JavaScript and XML (AJAX)-style Web applications. AJAX-Unterstützung in Windows Communication Foundation (WCF) ist für die Verwendung mit ASP.NET AJAX über das ScriptManager-Steuerelement optimiert.AJAX support in Windows Communication Foundation (WCF) is optimized for use with ASP.NET AJAX through the ScriptManager control. Beispiele zur Verwendung von Windows Communication Foundation (WCF) mit ASP.NET AJAX finden Sie in der AJAX-Beispielen.For examples of how to use Windows Communication Foundation (WCF) with ASP.NET AJAX, see the AJAX Samples.

Hinweis

Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.The set-up procedure and build instructions for this sample are located at the end of this topic.

Das Beispiel verwendet einen Person-Datenvertrag, um die Serialisierung und Deserialisierung zu demonstrieren.The sample uses a Person data contract to demonstrate serialization and deserialization.

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

    [DataMember]
    internal int age;
}

Zum Serialisieren einer Instanz vom Typ Person zu JSON erstellen Sie zuerst das DataContractJsonSerializer und schreiben dann mit der WriteObject-Methode JSON-Daten in einen Stream.To serialize an instance of the Person type to JSON, create the DataContractJsonSerializer first and use the WriteObject method to write JSON data to a stream.

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

Der Arbeitsspeicherstream enthält gültige JSON-Daten.The memory stream contains valid JSON data.

{"age":42,"name":"John"}  

Das Beispiel zeigt das Deserialisieren von JSON-Daten in ein Objekt.The sample demonstrates deserializing from JSON data into an object. Anschließend spulen Sie den Stream zurück und rufen ReadObject auf.You then rewind the stream and call ReadObject.

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

Wenn Sie das p2-Objekt untersuchen, stellen Sie fest, dass die JSON-Daten ordnungsgemäß deserialisiert wurden.Examining the p2 object reveals that the JSON data has been deserialized correctly.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your machine. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, fahren Sie mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) Samples for .NET Framework 4 aller Windows Communication Foundation (WCF) herunterladen und WFWF Beispiele.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Ajax\JsonSerialization

So richten Sie das Beispiel ein, erstellen es und führen es ausTo set up, build and run the sample

  1. Erstellen Sie die Projektmappe JsonSerialization.sln, wie in beschrieben Erstellen der Windows Communication Foundation-Beispiele.Build the solution JsonSerialization.sln as described in Building the Windows Communication Foundation Samples.

  2. Führen Sie die dabei entstandene Konsolenanwendung aus.Run the resulting console application.

Siehe auchSee Also