Sihirli Fasulyeler
Yükleniyor...
Veri Değişiminde Kullanılan Formatlar : YAML, CSV, XML, JSON
 Web-Tasarım   4161   22.11.17   22.11.17   0
datainterchange.jpg

Dört bölümden oluşan JSON serimizde, veri değişiminde kullanılan formatlardan kısaca konuşmuş ve JSON'larla ilgili uygulamalar tasarlamıştık. Bu makalemde, veri değişiminde kullanılan formatları daha detaylı inceleyerek, sahip oldukları avantajlardan, dezavantajlardan ve kullanım yerlerinden bahsedeceğim. İnceleyeceğimiz formatlar: YAML, CSV, XML ve JSON olacak.

 

Öncelikle bu tür formatlar, masaüstü uygulamaları, web uygulamaları ve websiteleri arasındaki bilgi paylaşımında veya küçük miktardaki verinin depolanmasında kullanılan, küçük boyutlu, metin biçimine benzeyen formatlardır. Bu amaçlar için geçmişten günümüze, farklı amaçlar için, çok sayıda farklı format geliştirilmiştir. Bu formatlardan en popüler olanları YAML, CSV, XML ve JSON olmuştur. Her formatın kendine göre yazım kuralı ve özel kullanım alanları vardır.

 

Öncelikle bir dizi verimizi YAML, CSV, XML ve JSON formatında yazarak, formatlarımızın yazım kurallarını ve yapılarını inceleyelim. Farzedelim ki kitap bilgileri içeren ve diğer platformlarla paylaşmak istediğimiz veya uygulamızda kullanmak üzere bilgilerimizi depolamak istediğimiz bir format oluşturacağız. Oluşturacağımız formatta, kitap adı, kapak resmi, yazar, fiyat gibi bilgiler olacak. Örnek olması amacıyla 2 farklı kitap bilgisi içeren YAML, CSV, XML ve JSON formatlarını oluşturalım.

 

YAML

 
---
- kitap_adi: Sihirli Fasulyeler
  kapak_resmi: sihir.jpg
  yazar: Fasulyeler
  fiyat: 12TL
- kitap_adi: Son Durak
  kapak_resmi: son.jpg
  yazar: Arthur Clarke
  fiyat: 11TL
 

CSV

 
kitap_adi,kapak_resmi,yazar,fiyat
Sihirli Fasulyeler,sihir.jpg,Fasulyeler,12TL
Son Durak,son.jpg,Arthur Clarke,11TL
 

XML

 
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <element>
      <fiyat>12TL</fiyat>
      <kapak_resmi>sihir.jpg</kapak_resmi>
      <kitap_adi>Sihirli Fasulyeler</kitap_adi>
      <yazar>Fasulyeler</yazar>
   </element>
   <element>
      <fiyat>11TL</fiyat>
      <kapak_resmi>son.jpg</kapak_resmi>
      <kitap_adi>Son Durak</kitap_adi>
      <yazar>Arthur Clarke</yazar>
   </element>
</root>
 

JSON

 
[
  {
		"kitap_adi": "Sihirli Fasulyeler",
		"kapak_resmi": "1.jpg",
		"yazar": "Fasulyeler",
		"fiyat": "12TL"
	},
	{
		"kitap_adi": "Son Durak",
		"kapak_resmi": "son.jpg",
		"yazar": "Arthur Clarke",
		"fiyat": "11TL"
	}
]
 

Yapılarımıza göz attıysak şimdi biraz formatlarımızdan ve popüler kullanım yerlerinden bahsedelim.

 

YAML (YAML Ain't Markup Language - YAML İşaretleme Dili Değildir -), 2001 yılında geliştirilmiş bir formattır. YAML dosyalarının uzantıları "yaml" veya "yml" dir. Örnekte de gördüğünüz gibi oluşturulması ve yazım kuralları son derece kolaydır. Yazım kuralları, oluşturulan yapının rahatlıkla anlaşılabilmesi için düzenlenmiştir. Günümüzde özellikle uygulamaların ayar dosyaları için kullanılır.

 

CSV (Comma Separated Values - Virgülle Ayrılmış Değerler - ), 1972 yılında geliştirilmiş bir yapıdır. YAML, CSV, XML ve JSON arasında, oluşturulması en kolay yapıdır. Bu format, genellikle ticari, istatistiksel, bilimsel masaüstü uygulamalarında oluşturulan elektronik tablo şeklindeki verilerin aktarımı için kullanılmaktadır. Tablo şeklinde oluşturmuş veriler, kolaylıkla CSV formatı ile başka uygulamalara aktarılabilir. Veritabanları tarafından destek görmesi sayesinde web uygulamalarında da kullanım alanı bulmuştur. Örneğin Microsoft Excel ile oluşturduğunuz tabloları, CSV formatında web uygulamalarında kullandığınız veritabanlarına aktarabilirsiniz.

 

XML (eXtensible Markup Language - Genişletilebilir İşaretleme Dili - ), 1997 yılında geliştirilmiş yapıdır. HTML'e benzemesiyle kısa zamanda popüler hale gelmiş bu format, web uygulamaları, masaüstü uygulamaları ve pek çok programlama dili tarafından desteklenmektedir. Günümüzde her ne kadar eskisi gibi popüler bir format olmasa da hala en geniş desteğe sahip format olduğunu söyleyebiliriz. Yazım kurallarında kullanılan fazladan yapılar, hem bu formatın oluşturulmasını zorlaştırmakta, hem de performans açısından diğer formatlara göre daha yavaş işlenmesine neden olmaktadır.

 

JSON (JavaScript Object Notation - JavaScript Nesne Kaydı - ), Geliştirilmesi 2000'li yıllara uzanan, fakat ECMA (bilişimdeki standartları belirleyen kurum) tarafından 2013 yılında standart olarak kabul edilen formattır. Yapısı javascript nesne yapısından esinlenerek oluşturulmuştur. Bu yüzden JSON formatı, javascript dili ve kütüphaneleri tarafından kolaylıkla işlenebilir. Özellikle RESTful API hizmeti sağlayan websitelerinin ortaya çıkmasıyla oldukça popüler hale gelmiş ve websiteleri arasındaki veri değişiminde en çok kullanılan format olmuştur. Ayrıca günümüzde pek çok programlama dilinde, JSON yapısı oluşturacak veya JSON yapısını okuyacak komutlar yer almaktadır. JSON hakkında detaylı bilgi ve uygulamalara göz atmak için burayı tıklayanız.

 

Hangi Formatı Kullanmalı?

 

Bu sorunun cevabı tamamen sizin ihtiyaçlarınıza, kullandığınız teknolojiye ve paylaşılmak istenen verinin hangi platformlar tarafından kullanılacağı ile ilgili olacaktır.

Örneğin, paylaşmak istediğiniz veriniz, birbirinden çok farklı platformlar tarafından kullanılacaksa, ilk tercih en geniş desteğe sahip format olan, XML olmalıdır. Eğer paylaşmak istediğiniz veri sadece web tabanlı uygulamalar veya sadece websiteleri için olacaksa, kolaylık ve yaygınlık anlamında JSON seçilmelidir. Eğer sıkı bir Python kullanıcı iseniz YAML, eğer elektronik tablolarınız varsa ve bu tablolarınızı farklı uygulamalara aktarmak istiyorsanız CSV, veri değişimlerinde kullanacağınız en uygun fotmat olacaktır.

 

 Konuyu geliştirmemize yardımcı ol, konuyu değerlendir.
 İlk Sen Değerlendir

 

 Bu konuyu paylaş

 

 Yorum yaz, soru sor, geliştirme öner
E-Posta adresiniz yayınlanmayacak.

 

 İlk Yorumu Sen Yap