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ı ReadObject
yapı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
Çözüm JsonSerialization.sln Windows Communication Foundation Örnekleri Oluşturma bölümünde açıklandığı gibi oluşturun.
Sonuçta elde edilen konsol uygulamasını çalıştırın.