Sdílet prostřednictvím


Ukázka DataContractJsonSerializer

Tento článek popisuje ukázku jsonSerialization.

Poznámka:

Tato ukázka je určena pro DataContractJsonSerializer. Pro většinu scénářů, které zahrnují serializaci a deserializaci JSON, doporučujeme rozhraní API v oboru názvů System.Text.Json.

DataContractJsonSerializer podporuje stejné typy jako DataContractSerializer. Formát dat JSON je zvláště užitečný při psaní asynchronních webových aplikací ve stylu JavaScript a XML (AJAX). Podpora AJAX ve Windows Communication Foundation (WCF) je optimalizovaná pro použití s ASP.NET AJAX prostřednictvím ovládacího prvku ScriptManager. Příklady použití technologie Windows Communication Foundation (WCF) s ASP.NET AJAX najdete v ukázkách AJAX.

Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.

Ukázka používá Person kontrakt dat k předvedení serializace a deserializace.

[DataContract]
class Person
{
    [DataMember]
    internal string name;

    [DataMember]
    internal int age;
}

Pokud chcete serializovat instanci Person typu do FORMÁTU JSON, vytvořte DataContractJsonSerializer první a použijte metodu WriteObject k zápisu dat JSON do datového proudu.

Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);

Datový proud paměti obsahuje platná data JSON.

{"age":42,"name":"John"}

Ukázka ukazuje deserializaci dat JSON do objektu. Pak se datový proud převinete zpět a zavoláte ReadObject.

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

Při zkoumání objektu p2 se zjistí, že data JSON byla deserializována správně.

Nastavení, sestavení a spuštění ukázky

  1. Sestavte řešení JsonSerialization.sln, jak je popsáno v části Vytváření ukázek Windows Communication Foundation.

  2. Spusťte výslednou konzolovou aplikaci.