XML ve JSON veri haberleşmesinde, iletiminde, saklanmasında kullanılır. Bu dosyalar metin dosyalarıdır ve .xml ve .json uzantılarıyla kullanılırlar.
XML(Extensible Markup Language) türkçesi de Genişletilebilir İşaretleme Dili. HTML diline benzer, hiyerarşi temellidir ve etiketler arasına yazılır. Ancak html’den farkı etiketleri bizim adlandırmamızdır. Örneğin:
şeklinde yazabiliriz ve bu etiketler arasında verimizi saklarız. XML de temel verilerin hepsi iletilebilir. Örneğin string, integer, array, object, boolean. Dizi şeklinde veri göndermek için dizinin elemanlarını da bir etiket arasına almamız gerekir. Örneğin javascript dili ile bir dizi tanımlayalım:
böyle bir dizimiz var ise bunu XML’de şöyle çevirebiliriz:
XML şu anda da veri alışverişinde ve saklanmasında kullanılan bir dildir ancak yeni teknolojilerle JSON daha çok kullanılıyor. Bir iş ilanına başvuran kişinin bilgilerini xml formatında sakladığımızı varsayalım. Şu şekilde görünürdü:
JSON(Javascript Object Notation) türkçesi ise Javascript Obje Notasyonu’dur. Javascript objesine benzer, yazımı kolaydır. XML’e göre daha az yer kaplar ve anlaşılması daha kolaydır. XML’de olduğu gibi veri tiplerinin hepsini saklayabilir. Örneğin yukarıda XML olarak verdiğimiz örnekleri JSON’a çevirelim.
Görüldüğü gibi XML’deki gibi etiketler arasında yazmamıza gerek kalmadı. JSON’ da etiket formatı değil de key-value ilişkisi kullanılır.
Yukarıda XML formatında yazdığımız diziyi bir de JSON formatında yazalım:
görüldüğü gibi diziyi JSON formatında yazmak XML formatında yazmakdan daha kolay oldu ve daha az yer kapladı. Yukarıda XML olarak verdiğimiz örneği bir de JSON olarak verelim:
XML’ de JSON’da günümüzde çok kullanılır. Ancak son yıllarda JSON daha çok kullanılır oldu. Bunun birkaç sebebi var:
JSON ve XML arasındaki farklar ve tanımları bu şekildedir. Sonuç olarak ikisi de veri iletiminde, saklanmasında kullanılıyor. Eskiden XML daha çok kullanılırdı ancak günümüzde JSON daha çok kullanılıyor. Bunun nedenlerinden biri olan Soap API ve Restful API ve bunlara ek olarak Graphql’i de başka bir yazıda sizinle buluşturmak dileğiyle.
Bir sonraki yazıda görüşmek üzere…