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.
In diesem Artikel wird das JsonSerialization-Beispiel beschrieben.
Hinweis
Dieses Beispiel ist für DataContractJsonSerializer. Für die meisten Szenarien, die json serialisieren und deserialisieren, empfehlen wir die APIs im System.Text.Json-Namespace.
DataContractJsonSerializer unterstützt dieselben Typen wie DataContractSerializer. Das JSON-Datenformat ist besonders hilfreich beim Schreiben von asynchronen JavaScript- und XML-Webanwendungen (AJAX). AJAX-Unterstützung in Windows Communication Foundation (WCF) ist für die Verwendung mit ASP.NET AJAX über das ScriptManager-Steuerelement optimiert. Beispiele für die Verwendung von Windows Communication Foundation (WCF) mit ASP.NET AJAX finden Sie in den AJAX-Beispielen.
Die Einrichtungsschritte und Bauanleitungen für dieses Beispiel finden Sie am Ende dieses Abschnitts.
Im Beispiel wird ein Person Datenvertrag verwendet, um die Serialisierung und Deserialisierung zu veranschaulichen.
[DataContract]
class Person
{
[DataMember]
internal string name;
[DataMember]
internal int age;
}
Um eine Instanz des Person Typs in JSON zu serialisieren, erstellen Sie zuerst die DataContractJsonSerializer und verwenden Sie die WriteObject Methode, um JSON-Daten in einen Datenstrom zu schreiben.
Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);
Der Speicherdatenstrom enthält gültige JSON-Daten.
{"age":42,"name":"John"}
Das Beispiel veranschaulicht die Deserialisierung von JSON-Daten in ein Objekt. Anschließend spulen Sie den Stream zurück und rufen ReadObject auf.
Person p2 = (Person)ser.ReadObject(stream1);
Das Untersuchen des p2 Objekts zeigt an, dass die JSON-Daten ordnungsgemäß deserialisiert wurden.
So richten Sie das Beispiel ein, erstellen es und führen es aus
Erstellen Sie die Lösung JsonSerialization.sln wie im Erstellen der Windows Communication Foundation-Beispiele beschrieben.
Führen Sie die resultierende Konsolenanwendung aus.