Veri Değişiminde Kullanılan Formatlar : YAML, CSV, XML, JSON
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.
- Yayın Süresi : 2575 Gün
- Konu Sayısı : 277 Bilim Konuları : 118 Teknoloji Konuları : 42 Web-Tasarım Konuları : 42 İlginçler Konuları : 63 Gezi Konuları : 12 En Popüler : Sonsuz İşlemleri 232717 Kere En Çok Yorum Alan : Logaritma Nedir, Ne İşe Yarar, Gerçek Hayatta Nerelerde Kullanılır? 19 Kere En Çok Değerlendirilen : Sonsuz İşlemleri 140 Kere
Satrançta Piyonun Geçerken Alması Kuralı (En Passant)
En passant kuralı nedir, ne zaman uygulanır...
Işık Hızında Bağıl Hız
Işık hızında giden cisimler için bağıl hız hesaplamaları...
Newton Karantinada Neler Yaptı?
Newtonun karantina günleri ve icatları...
Çamaşır Suyu Nedir? Nasıl Temizler?
Çamaşır suyunun yapısı, kullanım alanları ve dikkat edilmesi gerekenler...
Dünyanın Yaşını Nasıl Biliyoruz?
Dünyanın yaşını hesaplama yöntemleri...
Salgın Hastalık Dereceleri : Pandemik, Epidemik, Endemik, Sporadik
Pandemik, Epidemik, Endemik, Sporadik Nedir?
Kahve Günlükleri : Kahve Çekirdeği Kavurma Dereceleri
Hafif, orta, orta-koyu, koyu kavrulmuş kahve çekirdeklerinin özellikleri ve farkları...
Kahve Günlükleri : Kahve Demleme Yöntemleri
Kahve demleme yöntemleri ve farkları...
Kahve Günlükleri : Kahve Çeşitleri ve Ölçüleri
Popüler kahve çeşitleri ve ölçüleri...
Kahve Günlükleri : Arabica ve Robusta
Arabica ve Robusta kahve çekirdekleri ve farkları...
Sayıların Sınıflandırılması (Matematik)
Matematikte sayıların sınıflandırılması : Kompleks, Sanal, Gerçek, Doğal, Rasyonel, İrrasyonel...
Websiteniz İçin Bedava Güvenlik Sertifikası (SSL Sertifikası)
Tamamen bedava güvenlik sertifikası nasıl elde edilir, nasıl yüklenir?
Wi-Fi Şifresini Görme (Windows 7 - 10)
Programsız, kodsuz wifi şifresini görme yöntemi.
Kolay Ezberleme Yöntemi : Anımsatıcılar
Kolay ezberleme yöntemlerinden anımsatıcılar : Mnemotekni
Tarayıcılarda Ön Bellek İşlemleri (Normal Yükleme - Tam Yükleme - Ön Belleği Boşaltma)
Tarayıcılarda normal yükleme ve tam yükleme ne demektir, nasıl yapılır?
Takip, Reaksiyon, Fren ve Durma Mesafesi
Reaksiyon, fren, durma ve takip mesafesi nasıl hesaplanır, bilimsel detaylar.
Bilgisayarda Müzik Nasıl Yapılır?
Sadece bilgisayar programları kullanarak gerçekçi müzik nasıl oluşturulur?
Beden Kitle İndeksi Hesaplama ve Değerlendirme
Bu uygulama ile Vücut Kitle İndeksinizi hesaplayabilir ve sonucu değerlendirebilirsiniz.
Hidrojen Peroksit (H2O2) ve Özellikleri
Hidrojen peroksit nedir, sağlık açısından ne gibi etkileri vardır?
Photoshop'ta Ortalama İşlemleri
Photoshop'ta ortalama işlemleri nasıl yapılır?
Bu kısımdan sitemizdeki gelişmelerden haberdar olabilirsiniz.
- Abonelik Sistemi kaldırıldı. 11.03.2020
- Arama Motoru Google Özel Arama olarak değiştirildi. 15.10.2019
- Yıllık sunucu bakımı tamamlandı. 04.10.2019
- Konulara kaynaklar eklendi. 10.07.2019
- SSL sertifikası eklendi. 31.05.2019
Gitar çalmayı öğrenmek, yeteneğinizi geliştirmek, popüler tab ve akorlar için gitaregitim.net sitesini ziyaret etmeyi unutmayın.