İlk başta JSON olarak saklamak istediğimiz nesneleri belirtmemiz gerekir.
Örneğimizde Person isimli bir class kullanacağız.
[DataContract] public class Person { public Person() { } public Person(string firstname, string lastname) { this.FirstName = firstname; this.LastName = lastname; } [DataMember] public string FirstName { get; set; } [DataMember] public string LastName { get; set; } }
Burda yabancı olduğunuz özellikler sınıfa verilen DataContract ve propertylere verilen DataMember nitelikleri.
DataContract ve DataMember objeleri JSON ile serileştirme yaparken kullanmamız gereken niteliklerdir.
İlk başta Person nesnesini yeniden yaratıp içine örnek veriler atıyoruz.
Person myperson = new Person("Fatih", "Senel");
Daha sonra serileştirme işlemine başlıyoruz.
DataContractJsonSerializer json = new DataContractJsonSerializer(myperson.GetType());
Burda JSONSerializer ile kullanacağımız nesne tipini yani myperson ı belirledik.
MemoryStream nesnesine aldığımız verileri aktaralım ve ekrana yazdıralım.
MemoryStream ms = new MemoryStream(); json.WriteObject(ms, myperson); string jsonn = Encoding.Default.GetString(ms.ToArray()); Console.WriteLine(jsonn);
Peki ters serileştirme yani JSON dan .NET objesine çevirme nasıl olacak ?Gelin birlikte göz atalım.
MemoryStream mss = new MemoryStream(Encoding.UTF8.GetBytes(jsonn)); Person p=(Person)json.ReadObject(mss); Console.WriteLine("Ad :" +p.FirstName + "\n" + "Soyad :" + p.LastName); Console.ReadKey();
İlk önce jsonn nesnesini hafızaya atıyoruz.Daha sonra Person obje tipi ile JSON ı okuyoruz.Daha sonra ekrana yazdırıyoruz.
Gördüğünüz gibi oldukça basit.Başka bir JSON yazısında görüşmek üzere..
Ek bilgi: .NET 3.5 DataContractJsonSerializer
Yazılım ve donanım dünyasından en son haberlerle buluşmak üzere…