DataContractJsonSerializer örneği

Bu makalede JsonSerialization örneği açıklanmaktadır.

Not

Bu örnek içindir DataContractJsonSerializer. JSON seri hale getirme ve seri durumdan çıkarma içeren çoğu senaryo için System.Text.Json ad alanında API'leri öneririz.

DataContractJsonSerializer ile aynı türleri DataContractSerializerdestekler. JSON veri biçimi özellikle Zaman Uyumsuz JavaScript ve XML (AJAX) stili Web uygulamaları yazarken kullanışlıdır. Windows Communication Foundation'da (WCF) AJAX desteği, ScriptManager denetimi aracılığıyla ASP.NET AJAX ile kullanılmak üzere iyileştirilmiştir. ASP.NET AJAX ile Windows Communication Foundation'ın (WCF) nasıl kullanılacağına ilişkin örnekler için bkz. AJAX Örnekleri.

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda bulunur.

Örnek, serileştirmeyi ve seri durumdan çıkarma işlemini göstermek için bir Person veri sözleşmesi kullanır.

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

    [DataMember]
    internal int age;
}

Türün Person bir örneğini JSON'a seri hale getirmek için ilkini DataContractJsonSerializer oluşturun ve JSON verilerini bir akışa yazmak için yöntemini kullanın WriteObject .

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

Bellek akışı geçerli JSON verileri içeriyor.

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

Örnek, JSON verilerinden bir nesneye seri durumdan çıkarma işlemini gösterir. Ardından akışı geri sarıp çağrısı ReadObjectyapın.

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

Nesnenin p2 incelenmesi, JSON verilerinin seri durumdan doğru şekilde çıkarıldığını gösterir.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Çözüm JsonSerialization.sln Windows Communication Foundation Örnekleri Oluşturma bölümünde açıklandığı gibi oluşturun.

  2. Sonuçta elde edilen konsol uygulamasını çalıştırın.