JSON şu anlama gelir: JavaScript Object Notation. Şunları tanımlamak için kullanılır: JavaScript nesneleri. Anahtar-değer çiftlerini kullanarak veri değerlerini belirten bir veri paylaşım formatıdır. JSON nesnesi tüm büyük tarayıcılarda desteklenir. Bu eğitim, JavaScript'e ve JSON nesnesiyle çalışmaya aşina olmanızı gerektirir. JSON'a aşina olmak için şu kaynağımıza göz atabilirsiniz: JSON veri paylaşım formatına genel bakış. Ayrıca şuna da göz atabilirsiniz: JavaScript'te JSON ile çalışma.
JSON formatı, ağ üzerinden veri iletmek için de kullanılır. Bu amaçla, verilerin serileştirilmesi ve serileştirmeden çıkarılması gerekir. Veri JSON formatındayken, stringify yöntemi kullanılarak bir dizeye dönüştürülür. Verileri manipülasyon için tekrar nesne formatına dönüştürmek üzere parse yöntemi kullanılır. Bu eğitimde şu ele alınacaktır: kullanım adımlarının üzerinden geçmek JSON.parse() ve JSON.stringify(). Hadi başlayalım!
JSON.parse()
Bu yöntem, bir JSON dizesini programlı olarak manipüle edilebilmesi için bir JSON nesnesine dönüştürmek için kullanılır. Geçirilen dizenin geçerli bir JSON dizesi olması gerekir, aksi takdirde bir istisna fırlatılır. Bu dize herhangi bir web servisinden veya uzak uygulamadan alınabilir.
Bu yöntem iki parametre kabul eder: bir string ve bir callback fonksiyonu; bu fonksiyon, dizeyi bir nesneye dönüştürmeden önce manipüle etmek için kullanılabilir. Bir web servisinden işlemin durumunu, mesajını ve durum kodunu belirten bir mesaj aldığımızı varsayalım. Aşağıda, bir dizenin nasıl nesneye dönüştürülebileceğine dair basit bir örnek verilmiştir.
Kod:
|
1 2 3 |
let json_string = '{"message":"Başarıyla tamamlandı", "status":200, "code":200}' let server_obj = JSON.parse(json_string); console.log(server_obj) |
Çıktı:
|
1 |
{message: 'Başarıyla tamamlandı', status: 200, code: 200} |
Sık karşılaşılan bir sorun, dizenin sonuna fazladan virgül eklenmesidir; bu durumda JSON.parse(), kendisine iletilen dizede sonda virgül varsa bir hata fırlatır. Değerleri manipüle etmeniz gerekiyorsa, ikinci bir argüman olarak callback fonksiyonunu geçirebilirsiniz.
Kod:
|
1 2 3 4 5 6 7 8 9 |
let string = '{"name":"XYZ","email":"xyz@example.com"}'; let obj = JSON.parse(string, (key, value) => { if (typeof value === 'string') { return value.toUpperCase(); } return value; }); console.log(obj) |
Çıktı:
|
1 |
{name: 'XYZ', email: 'XYZ@EXAMPLE.COM'} |
JSON.stringify()
The stringify yöntemi, parse yönteminin tam tersini yapar. Burada JSON nesnesi geçirilir ve dönen değer bir dize olur. Bu dize, örneğin başka bir uzak web servisine iletilebilir ve ardından manipülasyon için tekrar bir JSON nesnesine dönüştürülebilir.
Kod:
|
1 2 3 |
let obj = {message:"Başarıyla tamamlandı", status:200, code:200} let str = JSON.stringify(obj); console.log(str); |
Çıktı:
|
1 |
{"message":"Başarıyla tamamlandı","status":200,"code":200} |
stringify yöntemi iki argüman alabilir: replacer ve spacer yöntemleri. replacer yöntemi, dizedeki herhangi bir değeri değiştirmek veya hariç tutmak için kullanılabilir.
Kod:
|
1 2 3 4 5 6 7 8 9 |
let obj = {message:"Başarıyla tamamlandı", status:200, code:200} let str = JSON.stringify(obj, (key, value) => { if (status === 200) { return undefined; } return value; }); console.log(str) |
Çıktı:
|
1 |
{"message":"Başarıyla tamamlandı","status":200,"code":200} |
Ne zaman spacer argümanı sağlandığında, bir dizi veya nesnenin her bir öğesi kendi satırına yerleştirilir ve nesnelerin ve dizilerin hiyerarşisindeki derinliğini belirtmek için girintilenir. Aşağıda bunu gösteren basit bir kod parçacığı bulunmaktadır.
Kod:
|
1 2 3 |
let obj = {message:"Başarıyla tamamlandı", status:200, code:200} let str = JSON.stringify(obj, null, "---"); console.log(str) |
Çıktı:
|
1 2 3 4 5 |
{ ---"message": "Başarıyla tamamlandı", ---"status": 200, ---"code": 200 } |
Sonuç
Bu eğitimde, JSON formatındaki içerikle çalışmak için iki yararlı yönteme baktık. JSON nesneleri her yerdedir ve JavaScript kullanarak modern uygulamalar oluştururken bu yöntemler çok kullanışlıdır. Daha fazlasını öğrenmek için, şu adresteki aşağıdaki eğitimlere göz atın: blogumuz:
- JavaScript'in Temelleri: Tarih ve Saat ile Nasıl Çalışılır
- JavaScript ile Çalışmak: Prototipler ve Kalıtımlar Nasıl Çalışır
- HTML'e JavaScript Ekleme Kılavuzu
Keyifli Kodlamalar!
Yorumlar
Henüz yorum yapılmamış. İlk siz olun.