JSON (JavaScript Object Notation) bir veri değişim formatıdır. JSON, dilden bağımsızdır, C dilleri ailesinin syntax (söz dizimi) yapısına aşina olan (C, C ++, C #, Java, JavaScript, Perl, Python ve diğerleri) herkes tarafından kolayca öğrenilebilir. Bu özellikler JSON'u ideal bir veri değişim dili yapar.
Json serialize ve deserialize işlemi için en yaygın olan kütüphane NewtonSoft.Json kütüphanesidir.
PM> Install-Package Newtonsoft.Json
Website :
https://www.newtonsoft.com/json Json örnek veri tipleri ; Array, (json dilinde Jarray) ["kedi", "köpek", "kuş"]
Deserialize işlemi; string veri = "[\"kedi\", \"köpek\", \"kuş\"]";
var j = JsonConvert.DeserializeObject(veri);
foreach (var a in j)
{
Response.Write(a);
Response.Write("<br>");
}Object, (Json dilinde JObject) {"adi" : "kadir", "soyadi" : "çelik", "email" : "email@adres.com" }Deserialize işlemi ; string veri = "{\"adi\":\"kadir\",\"soyadi\":\"çelik\",\"email\":\"email@adres.com\"}";
var j = JsonConvert.DeserializeObject(veri);
Response.Write(j("adi"));
Response.Write("<br>");
Response.Write(j("soyadi"));
// vs. v.s v.sObject ve array bir arada; {"kategori": "uçak", "koltuklar": [1,2,3]}Deserialize işlemi ; string veri = "{\"kategori\": \"uçak\", \"koltuklar\": [1,2,3]}";
var j = JsonConvert.DeserializeObject(veri);
var ka = j("kategori");
var ko = j("koltuklar");
Response.Write(ka);
Response.Write("<hr>");
foreach (var k in ko)
{
Response.Write(k);
Response.Write("<br>");
}İleri düzeylerde serialize & deserialize işlemleri; Class nesne tanımlayıp serialize ederek, yazdırma; public class kullanicilar
{
public string adi { get; set; }
public string soyadi { get; set; }
public string email { get; set; }
}
public void yazdir()
{
kullanicilar kul = new kullanicilar();
kul.adi = "hasan";
kul.soyadi = "çoban";
kul.email = "hasan@hotmail.com";
var json = JsonConvert.SerializeObject(kul);
Response.Write(json);
} Çıktı ; {"adi":"hasan","soyadi":"çoban","email":"hasan@hotmail.com"}Eleman yapısını bildiğimiz string değeri class yapısına çevirme ; public class kullanicilar
{
public string adi { get; set; }
public string soyadi { get; set; }
public string email { get; set; }
}
public void yazdir()
{
string strVeri = "{\"adi\":\"hasan\",\"soyadi\":\"çoban\",\"email\":\"hasan@hotmail.com\"}";
kullanicilar kul = JsonConvert.DeserializeObject<kullanicilar>(strVeri);
Response.Write(kul.adi);
} Liste tipinde class örnek ; public class kullanicilar
{
public string adi { get; set; }
public string soyadi { get; set; }
public string email { get; set; }
}
public void yazdir()
{
List<kullanicilar> liste = new List<kullanicilar>();
liste.Add(new kullanicilar() { adi = "hasan", soyadi = "çoban", email = "aslan@mail.com" });
liste.Add(new kullanicilar() { adi = "kenan", soyadi = "çelik", email = "kedi@mail.com" });
liste.Add(new kullanicilar() { adi = "osman", soyadi = "şahin", email = "sahin@mail.com" });
var j = JsonConvert.SerializeObject(liste);
Response.Write(j);
} Çıktı;
[{"adi":"hasan","soyadi":"çoban","email":"aslan@mail.com"},{"adi":"kenan","soyadi":"çelik","email":"kedi@mail.com"},{"adi":"osman","soyadi":"şahin","email":"sahin@mail.com"}]