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
Sestavte řešení JsonSerialization.sln, jak je popsáno v části Vytváření ukázek Windows Communication Foundation.
Spusťte výslednou konzolovou aplikaci.