Bu makalemizde metin halinde yani, string formunda JSON verilerini Javascript Objelerine Dönüştürme işleminin nasıl yapıldığını, bunun için hangi metodun kullanıldığı ve en en esası da string json verilerini ne zaman JavaScript objelerine dönüştürme ihtiyacı duyarız bunlardan bahsetmeye çalışacağım.
JSON sözünün açılımı Javascript Object Notation'dır. Yani Javascript web programlama dilinin temel obje ve veri yapısı JSON üzerine kuruludur. Ama doğal olarak bu verilerin objelerde tutulması ile metin olarak json formatında tutulması arasında fark var ve çoğu zamanda bu iki yapı arasında geçişler baş vermektedir. Örneğin bir dosyadan JSON formatında tutulan bir veriyi, değişkenlere eşitlemek isteyebiliriz. Çünkü bir dosyadan metni okuduğumuzda bunun JSON formatı olarak değil metin olarak alırız ve buna sadece metni okuduktan sonra karar verebiliriz.
İşte bu gibi durumlarda kullanacağım metot
JSON.parse(text[, reviver])
metodudur. Makalenin devamında ise bu metodu parametrelerini ve dönüştürülecek metin formatının doğru olmadığı durumlarda fırlatılan SyntaxError hata türünden kısaca bahsetmeye çalışacağım.
Bir önceki paragrafda da bahsettiğim gibi JSON formatındaki string verilerini JavaScript objelerine dönüştürmek için kullanılan metot JSON.parse metodudur. Bu metot 2 parametre alır ki, bunlardan birincisi zorunlu alan yani metin alanı, ikinci alan reviver(türkçesi kuvvelendirici madde veya uyarıcı gibi tercüme edebiliriz) ise dönüştürme işlemine yardımcı olmak için girilen bir değer gibi düşünebiliriz. Ama ikinci değer opsiyonel bir alandır yani burada en azından JSON.parse(dönüştürülecekMetin) formatında uymaktır.
Metodu tanıtırken de vurguladığım gibi bu metodun çalışması sırasında hata oluşursa SyntaxError tipinde hata oluşur. Bu da genelde metnin JSON kuralları içinde tanımlanmamış olmasından kaynaklanmaktadır. Buna bağlı olarak özellikle kullanıcı gelen verileri direk dönüştürüyorsanız metodu try catch bloğu içine almakta fayda var. Sonuç olarak metodu aşağıdaki gibi yazabiliriz.
try{
var donusturulenJsonObject=JSON.parse(metin)
}
catch (e) {
console.log(e instanceof SyntaxError);
console.log(e.message);
}
var donusturulenJsonObject=JSON.parse(metin)
}
catch (e) {
console.log(e instanceof SyntaxError);
console.log(e.message);
}
Son olarak konuyu özetleyecek olursak bu makalemizde metin formatında veya string JSON objelerinin JavaScript nesnelerine nasıl dönüştüreleceğini gördük. String JSON verilerini Javascript Objelerine Dönüştürme işlemi için kullanılan metot JSON.parse metodudur.
Konuya ilgi gösterip okuduğunuz için teşekkürler. Umarım yazı faydalı olmuştur. Konuyla alakalı sorularınız olursa bana yazabilirsiniz...
json = [
YanıtlaSil{"isim":"a","filmler":"Aksiyon"},
{"isim":"b","filmler":"Animasyon,Komedi"},
{"isim":"c", "filmler":"Aksiyon,Savaş"},
{"isim":"d", "filmler":"Komedi"}
]
Buradaki sadece aksiyon dizilerinin index değerini nasıl alabilirim?
Filmlerde Aksiyon içerenler diye yapabilirsin
Sil