Teilen über


DataContractJsonSerializer-Beispiel

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

  1. Erstellen Sie die Lösung JsonSerialization.sln wie im Erstellen der Windows Communication Foundation-Beispiele beschrieben.

  2. Führen Sie die resultierende Konsolenanwendung aus.