Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
![]() |
---|
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.
![]() |
---|
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.