JavaScript JSON Kullanımı
Elimizde bir javaScript verimiz olduğunu ve bu veriyi başka bir sayfada işlememiz gerektiğini düşünelim. Burada veriyi belirli bir biçimde (format) sayfalar arasında taşımamız gerekir. Bunun için genellikle eskiden düz metin yada XML kullanılırdı. XML biçiminin yorumlanması zor olduğu için javascript uygulamalarında daha kolay yorumlanan bir veri formatı üretildi. Javascript Object Notation olarak isimlendirilen yeni format geliştirildi.
JSON (JavaScript Object Notation), değerleri ve nesneleri temsil eden genel bir formattır. RFC 4627 standardında açıklanmıştır. Başlangıçta JavaScript için yapılmıştı, ancak diğer birçok dil de onu işleyen kütüphanelere sahiptir.
JSON.stringify Kullanımı JSON.stringify :JavaScripti JSON biçimine dönüştürmek için kullanılır. JSON.parse : JSON nesnelerini JavaScript’e dönüştürmek için kullanılır.
JSON.stringify örneği;
var Kisi = {
isim: 'Mehmet',
soyisim: 'Mutlu',
yas: 38,
bilgi: ['C#', 'CSS', 'PHP'],
site:"https:www.mutluweb.net.net"
};
var jsonKisi = JSON.stringify(Kisi);
alert(jsonKisi);
//json biçimi
{
"isim":"Mehmet",
"soyisim":"Mutlu",
"yas":38,
"bilgi":["C#","CSS","PHP"],
"site":"https:www.mutluweb.net.net"
}
Örnek 2:
var Sayfa = {
adres: 'https://www.mutluweb.net.net/javascript/javascript-dersleri/',
logo: 'https://www.mutluweb.net.net/wp-content/uploads/2020/02/logox720.jpg',
kategori: 'JavaScript',
yayinTarihi: 'Sun, 11 Feb 2020 15:07:43 +0000',
yazar:'Mehmet'
};
var jsonSayfa = JSON.stringify(Sayfa);
alert(jsonSayfa);
//json biçimi
{
"adres":"https://www.mutluweb.net/javascript/javascript-dersleri/",
"logo":"https://www.mutluweb.net/uploads/2020/02/logox720.jpg",
"kategori":"JavaScript",
"yayinTarihi":
"Sun, 11 Feb 2020 15:07:43 +0000",
"yazar":"Mehmet"
}
JSON.stringify metodu bir nesne alır ve string türünde dizgeye çevirir.Oluşturulan dizge gönderilmeye hazır bir JSON verisidir. Bu veriyi, işlemek için başka bir cihaza yada kaydetmek için veri tabanına gönderilebilir.
JSON verisi ile javaScript nesne arasında çok az bir farklılık olduğu dikkatinizi çekmiştir. Doğru json verisi oluşturmak için bu farklılıklara dikkat etmeniz gerekir.
Ayrıca JSON, şu doğal veri türlerine de uygulanabilir.
Object { … }
Array [ … ]
string,
number,
boolean :true/false,
null. Örneğin:
// Number türü
alert( JSON.stringify(1) ) // 1
// String türünde veri
alert( JSON.stringify('test') ) // "test"
alert( JSON.stringify(true) ); // true
alert( JSON.stringify([1, 2, 3]) ); // [1,2,3]
JSON verileri çapraz başvuru referansı türündedir. Bu yüzden JSON.stringify ile dönüşüm yapılırken bazı javaScript nesneleri dönüştürülmez.
Dönüşümün dışında tutulan veriler:
Nesne Metotları.
Sembolik özellikler
undefined
Örneğin:
var Kisi = {
ad:"Ahmet",
soyad:"Gezer",
hobiler: undefined ,
[Symbol("id")]: 75,
adSoyad() {
return this.ad+ this.soyad;
}
};
alert( JSON.stringify(Kisi) );
//Çıktı
{
"ad":"Ahmet",
"soyad":"Gezer"
}
JSON.parse Kullanımı
JSON biçiminde oluşturulmuş bir veriyi çözüp, javascript biçimine dönüştürmek için JSON.parse metodunu kullanılır.
JSON biçiminden dönüştürülen yapı veri, dizi yada bir nesne olabilir. parse dönüşümü ile yapı javascript nesnesi olarak doğrudan kullanılabilir hale gelmiş olur.
Örn:
var iller='["İstanbul","Ankara","İzmir","Edirne"]';
var liste = JSON.parse(iller);
alert(liste); //İstanbul,Ankara,İzmir,Edirne
Örn 2:
var json='{"isim":"Mehmet","soyisim":"Mutlu","yas":41,"bilgi":["C#","CSS","PHP"],"site":"https:www.mutluweb.net"}';
var veri = JSON.parse(json);
// veri nesnesinin yapısı
{
isim: 'Mehmet',
soyisim: 'Mutlu',
yas: 41,
bilgi: ['C#', 'CSS', 'PHP'],
site:"https:www.mutluweb.net"
}
alert(veri.site); //https:www.mutluweb..net