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.
Hinweis: |
---|
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.
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
Erstellen Sie die Projektmappe JsonSerialization.sln, wie in Erstellen der Windows Communication Foundation-Beispiele beschrieben.
Führen Sie die dabei entstandene Konsolenanwendung aus.