Freigeben über


JSON-Serialisierung

Dieses Beispiel zeigt, wie mit DataContractJsonSerializer Daten im JSON-Format (JavaScript Object Notation) serialisiert und deserialisiert werden. Dieses Serialisierungsmodul konvertiert JSON-Daten in Instanzen von .NET Framework-Typen und wieder zurück in JSON-Daten. DataContractJsonSerializer unterstützt dieselben Typen wie DataContractSerializer. Das JSON-Datenformat ist besonders beim Schreiben von Webanwendungen im Ajax-Stil (Asynchronous JavaScript and XML) nützlich. Die AJAX-Unterstützung in Windows Communication Foundation (WCF) ist zur Verwendung mit ASP.NET AJAX über das ScriptManager-Steuerelement optimiert. Beispiele zur Verwendungsweise von Windows Communication Foundation (WCF) mit ASP.NET AJAX finden Sie unter AJAX Samples.

Bb410770.note(de-de,VS.100).gifHinweis:
Die Setupprozedur und die Erstellungsanweisungen für dieses Beispiel befinden sich am Ende dieses Abschnitts.

Das Beispiel verwendet einen Person-Datenvertrag, um die Serialisierung und Deserialisierung zu demonstrieren.

[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.

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.

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

Das Beispiel zeigt das Deserialisieren von JSON-Daten in ein Objekt. Anschließend spulen Sie den Stream zurück und rufen ReadObject auf.

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

Wenn Sie das p2-Objekt untersuchen, stellen Sie fest, dass die JSON-Daten ordnungsgemäß deserialisiert wurden.

Bb410770.Important(de-de,VS.100).gif Hinweis:
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.

<Installationslaufwerk>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.

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

So richten Sie das Beispiel ein, erstellen es und führen es aus

  1. Erstellen Sie die Projektmappe JsonSerialization.sln, wie in Erstellen der Windows Communication Foundation-Beispiele beschrieben.

  2. Führen Sie die dabei entstandene Konsolenanwendung aus.