XML vs. JSON
XML ve JSON bir web sunucusundan veri almak gibi ortak işlevleri vardır. İkisi aynı amaca yönelik olsa da kendi içlerinde birbirlerine göre üstünlükleri ya da arka planda kaldıkları özellikleri oluyor. Yazımda bu konuda sizleri bilgilendirmeye çalışacağım.
XML
Öncelikle XML (Extensible Markup Language) ile başlayalım. XML bir Markup Language (İşaretleme dili)’ dir. Bunun anlamı metinlerin nasıl yapılandırılacağına ya da biçimlendirileceğine dair açıklamalara yönelik geliştirilen bir dil olması. Mesela HTML, LaTeX, SGML’de bu kategoriye giriyor. Veriyi depolar ve bir ortamdan başka bir ortama taşınabilir. Hiyerarşik bir yapısı vardır, etiketlendirme dediğimiz formatta <tag></tag> etiketi gibi genelden özele doğru iç içe etiketlendirmeler yapılır.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<employees>
<element>
<id>01</id>
<name>Adam</name>
<team>Development</team>
<technology>Cloud computing</technology>
<title>Engineer</title>
</element>
</employees>
</root>
JSON
JSON (JavaScript Object Notation) da, veri aktarımı JavaScript alt yapısı üzerine kurulmuştur. Bu da şu anlama geliyor, JavaScript’in doğrudan anlayabileceği bir format olarak geliştirilmiş. Bu içerik daha sonra Java, C# ve PHP gibi dillerde de desteklenir hale geliyor. 5 Çeşit veri tipi bulunuyor. Bunlar;
- Number
- String
- Array: “name”:[…] şeklinde kullanılır.
- Boolean: true|false
- Object: “name”:{..} şeklinde kullanılır.
- Null
Yukarıda XML örneğinin JSON formatındaki karşılığı ise şu şekilde;
{
"employees":
[
{
"id": "01",
"name": "Adam",
"technology": "Cloud computing",
"title": "Engineer",
"team": "Development"
}
]
}
XML ve JSON yukarıdaki örneklerdeki gibi basit veriler içeriyor ise birbirine dönüştürülebilir, fakat bu her zaman mümkün olmayabilir.
JSON XML Kıyaslanması
JSON | XML |
---|---|
Javascript altyapılıdır. | Markup Language (İşaretleme Dili)’dir. |
JSON’ın veri türleri vardır. (string, array, boolean, number gibi) | XML’in bir veri türü yoktur. |
Veri JSON nesneleri olarak kolaylıkla erişilebilirdir. | XML verilerinin parse edilmesi (ayrıştırılması) gerekir. |
JSON pek çok tarayıcı tarafından desteklenir. | Tarayıcılar arası XML ayrıştırma zor olabilir. |
JSON’un görüntüleme özelliği yoktur. | XML, Markup Language olduğu için verileri görüntüleme olanağı sunar. |
JSON yalnızca metin ve sayı veri türünü destekler. | XML, sayı, metin, resim, grafik, grafik vb. gibi çeşitli veri türlerini destekler. Verilerin yapısını veya biçimini gerçek verilerle aktarma seçenekleri de sunar. |
Birçok Ajax araç seti tarafından desteklenir. | Ajax araç seti tarafından tamamen desteklenmez. |
Yalnızca UTF-8 kodlamasını destekler. | Çeşitli kodlamaları destekler. |
Yorumları desteklemez. | Yorumları destekler. |
JSON dosyaları XML’e kıyasla kolay okunur. | XML belgelerinin okunması ve yorumlanması daha zordur. |
Daha az güvenlidir. | JSON’dan daha güvenlidir. |
JSON’da dizi desteği vardır. | XML’de dizi diye ayrı bir kavram yoktur. |
Hızlı ve düşük boyutlarda veri oluşturulabilir. | JSON’a göre daha yavaş ve veri boyutu daha büyüktür. |
Geliştirilebilir bir yapısı vardır. | Geliştirilebilir bir yapıya sahip değildir. |
Cevapla