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;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
var Kisi = { isim: 'Ahmet', soyisim: 'Cancan', yas: 38, bilgi: ['C#', 'CSS', 'PHP'], site:"https:www.yazilimbilisim.net" }; var jsonKisi = JSON.stringify(Kisi); alert(jsonKisi); //json biçimi /* { "isim":"Ahmet", "soyisim":"Cancan", "yas":38, "bilgi":["C#","CSS","PHP"], "site":"https:www.yazilimbilisim.net" } */ |
Örnek 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
var Sayfa = { adres: 'https://www.yazilimbilisim.net/javascript/javascript-dersleri/', logo: 'https://www.yazilimbilisim.net/wp-content/uploads/2018/02/yenilogox120.jpg', kategori: 'JavaScript', yayinTarihi: 'Sun, 11 Feb 2018 15:07:43 +0000', yazar:'hayri' }; var jsonSayfa = JSON.stringify(Sayfa); alert(jsonSayfa); //json biçimi /* { "adres":"https://www.yazilimbilisim.net/javascript/javascript-dersleri/", "logo":"https://www.yazilimbilisim.net/wp-content/uploads/2018/02/yenilogox120.jpg", "kategori":"JavaScript", "yayinTarihi": "Sun, 11 Feb 2018 15:07:43 +0000", "yazar":"hayri" } */ |
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:
1 2 3 4 5 6 7 8 9 10 11 |
// 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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:
1 2 3 4 5 6 7 |
var iller='["İstanbul","Ankara","İzmir","Edirne"]'; var liste = JSON.parse(iller); alert(liste); //İstanbul,Ankara,İzmir,Edirne |
Örn 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var json='{"isim":"Ahmet","soyisim":"Cancan","yas":38,"bilgi":["C#","CSS","PHP"],"site":"https:www.yazilimbilisim.net"}'; var veri = JSON.parse(json); // veri nesnesinin yapısı /* { isim: 'Ahmet', soyisim: 'Cancan', yas: 38, bilgi: ['C#', 'CSS', 'PHP'], site:"https:www.yazilimbilisim.net" } */ alert(veri.site); //https:www.yazilimbilisim.net |
Kaynak
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
https://javascript.info/json
https://www.digitalocean.com/community/tutorials/how-to-work-with-json-in-javascript
https://msdn.microsoft.com/tr-tr/library/cc836466(v=vs.94).aspx
[…] şeyi JSON datasına çevirdiğini fakat bazı özel karakterlere denk geldiğinde bu fonksiyondan kaçılabildiğini öğrendim. Burada kaçmamızı sağlayan karakter < oldu. Bu sayede soruyu aslında uzattığımı da […]
[…] şeyi JSON datasına çevirdiğini fakat bazı özel karakterlere denk geldiğinde bu fonksiyondan kaçılabildiğini öğrendim. Burada kaçmamızı sağlayan karakter < oldu. Bu sayede soruyu aslında uzattığımı […]
[…] şeyi JSON datasına çevirdiğini fakat bazı özel karakterlere denk geldiğinde bu fonksiyondan kaçılabildiğini öğrendim. Burada kaçmamızı sağlayan karakter < oldu. Bu sayede soruyu aslında uzattığımı da […]
[…] JSON datasına çevirdiğini fakat bazı özel karakterlere denk geldiğinde bu fonksiyondan kaçılabildiğini öğrendim. Burada kaçmamızı sağlayan karakter < oldu. Bu sayede soruyu aslında uzattığımı da […]
[…] 7.6 JavaScript JSON Kullanımı […]