Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk a JsonSerialization mintát ismerteti.
Megjegyzés:
Ez a mintapéldány DataContractJsonSerializer számára szolgál. A JSON szerializálásával és deszerializálásával járó legtöbb forgatókönyv esetében a System.Text.Json névtér API-kat javasoljuk.
DataContractJsonSerializer ugyanazokat a típusokat támogatja, mint a DataContractSerializer. A JSON-adatformátum különösen hasznos aszinkron JavaScript és XML (AJAX)-stílusú webalkalmazások írásakor. A Windows Communication Foundation (WCF) AJAX-támogatása ASP.NET AJAX-tal való használatra van optimalizálva a ScriptManager vezérlőn keresztül. Példák a Windows Communication Foundation (WCF) ASP.NET AJAX-tal való használatára, lásd az AJAX-mintákat.
A minta beállítási eljárása és összeállítási utasításai a témakör végén találhatók.
Egy adatszerződés Person használatával a minta bemutatja a szerializálást és a deszerializálást.
[DataContract]
class Person
{
[DataMember]
internal string name;
[DataMember]
internal int age;
}
JSON-ra történő szerializáláshoz az Person típusból hozzon létre egy példányt, először hozza létre az DataContractJsonSerializer-t, majd használja a WriteObject metódust, hogy JSON-adatokat írjon a streambe.
Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);
A memóriastream érvényes JSON-adatokat tartalmaz.
{"age":42,"name":"John"}
A minta bemutatja a JSON-adatok deszerializálását egy objektumba. Ezután visszapörgetheti a streamet, és meghívhatja ReadObject.
Person p2 = (Person)ser.ReadObject(stream1);
Az p2 objektum vizsgálata azt mutatja, hogy a JSON-adatok megfelelően lettek deszerializálva.
A minta beállításához, összeállításához és futtatásához
Építse a JsonSerialization.sln megoldást a Windows Communication Foundation minták építése című részben leírtak szerint.
Futtassa a kapott konzolalkalmazást.