JSON - Bölüm1
JSON, websitelerde veri depolama ve veri değişimini için kullanılan formatlardan birisidir. JSON'ın yanında XML, CSV ve YAML gibi formatların da kendine özgü kullanım alanları olsa da JSON en çok kullanılan formattır. Bunun en büyük nedeni JSON yapısının JQuery, PHP, Perl, Python, Java gibi pek çok programlama dillerinde kolaylıkla işlenebilmesidir.
JSON'ları temelde iki amaç için kullanırız. Bunlardan ilki, websitemiz için gerekli bazı bilgileri depolamaktır ( Küçük bir veri tabanı gibi ). Farzedelim ki 30 üründen oluşan bir ürün sayfası tasarlayacağız. Ürün bilgilerini içeren bir JSON dosyası oluşturursak, ürünleri listelemek, ürünler için bir arama motoru oluşturmak, ürün ekleme, silme, güncelleme gibi pekçok işlemi kolaylıkla yapabiliriz. JSON'ların diğer kullanım yerleri ise RESTful API olarak isimlendirilen websiteleri arasındaki bilgi paylaşım sistemidir. Günümüzde farklı alanlarda hizmet veren pek çok websitesi, hizmetlerini veya bilgilerini diğer websiteleri ile paylaşır. Bu paylaşım yaygın olarak JSON aracılığı ile yapılır. Örneğin kullanıcılarınıza film bilgileri sunacak bir uygulama tasarlamak istiyorsunuz. Bu uygulamayı şimdiye kadar çekilmiş bütün filmlerin bilgilerini toplayarak yapabilirsiniz. Elbetteki bütün filmler için bilgi toplama, afiş resimlerini bulma, puan ve eleştirileri elde etme, veri tabanı oluşturma gibi çok fazla zamanınızı alan işlemleri yapmak zorunda kalırsınız. Bunun yerine bu hizmeti sağlayan bir websitesi aracılığıyla, kullanıcılarınızın ulaşmak istediği bir filmin bütün bilgilerini (resimler, eleştriler, puanlar, özetler, oyuncu bilgilerini vs.) anlık olarak bu websitesinden alabilir, düzenleyip kullanıcılarınıza gösterebilirsiniz. Böylece büyük emeklerle oluşturacağınız tasarımınız, kolaylıkla ve kısa zamanda gerçekleştirilir. RESTful API konusunu makalemizin sonunda biraz daha ayrıntılı inceleyeceğiz. İlk olarak JSON formatının yapısınından bahsedelim. JSON'ların yapısı, JavaScript nesne yapısına benzer ve yazım kuralları açısından çok küçük farklar vardır.
JavaScript Nesne
var kitap = { isim : "Sefiller", yazar : "Victor Hugo", sayfa : 416 }
JSON
{ "isim" : "Sefiller", "yazar" : "Victor Hugo", "sayfa" : 416 }
Sanırım iki yapının ne kadar benzer olduğunu açıkça görülüyor. Zaten JSON, JavaScript Object Notation (JavaScript Nesne Kaydı) anlamına gelir. Yani JSON yapısı, javascript nesne yapısından esinlenerek oluşturulmuştur. Bu yüzden benzerliğin olması doğaldır. En büyük fark, Javascript nesnelerdeki tanımlamalarda tırnak işaret kullanılmazken, JSON'da kullanılır. Her iki yapıda da rakam değerleri için tırnaklara gerek yoktur. JSON yapılarında, javascript nesnelerde olduğu gibi diziler de kullanılabilir. Örneğin;
[
{ "kayit_no" : 1 , "marka" : "BMW", "modeller" : ["X6","Z4","I8"] },
{ "kayit_no" : 2 , "marka" : "Mercedes", "modeller" : ["A3","E220","C180"] }
]
Yukardaki JSON yapısı, bir diziden oluşmakta( başlangıç ve bitiş [ ] işaretleri arası), dizide 2 nesne yer almakta ( { } işaretleri arası ), nesne yapısında "modeller" isimli bir dizi yer almaktadır ( [ ] işaretleri arası ).
Bu şekilde JSON'ları kendimiz oluşturabildiğimiz gibi, PHP gibi bazı programlama dilleri JSON'ları otomatik olarak oluşturabilir ( Elbetteki bilgilerin veri tabanı gibi bir ortamdan alınması gerekir ) . Bu tür dillerde JSON'ları oluşturacak özel komutlar yer alır. Eğer JSON'ları kendimiz oluşturuyorsak, yazım kuralları hatasız olmalıdır. En ufak virgül, tırnak hatasında JSON'daki bilgileri alıp işleyemeyiz. Zaman zaman uzun JSON blokları içinde bazı yazım hatalarını gözden kaçırabiliriz. Bu hatalar için JSON yapılarını denetleyen ve hataları gösteren bazı websiteleri internette bulunmaktadır. Bu websitelerini kullanarak hatalarımızı görebilir ve kolaylıkla düzeltebiliriz. Bu sitelerden en popüleri JSON-Lint sitesidir. JSON yapısını bu sitedeki alana yapıştırıp, yapınızın doğruluğunu kontrol ettirebilirsiniz. Eğer yapıda hata varsa hataların nerde olduğu size gösterilir.
Son olarak RESTful API'lerden biraz daha söz etmek istiyorum. Gerçekten web tasarımcılar için son derece önemli bir sistemdir. Daha önce de bahsettiğim gibi bireysel olarak elde edemeyeceğimiz pek çok bilgi ve hizmet, bazı websiteleri tarafından paylaşılır. Hava durumları, maç skorları, kitap, film, müzik, şarkı, harita, ekonomi bilgileri gibi pek çok alandaki bilgiler, JSON aracılığı ile paylaşılır. Bazı websiteleri paylaşımlarını bedava olarak yaparken, bazı websiteleri bu paylaşımlar karşılığında ücret talep ederler. Bazı websitelerinde ise paylaşım bedava, fakat paylaşılan bilgi miktarı sınırlıdır. Genellikle bedava paylaşım yapan websiteleri üyelik sistemi ile çalışır. Yani bu sitelere üye olarak, sitelerin bilgilerinden yararlanabilirsiniz. Üye olduğunuzda size bir API KEY (API Anahtarı) verilir. İstediğiniz bilgi için bu API anahtarını kullanarak bilgiyi alabilirsiniz. RESTful API kullanıma bir örnek verelim,
Örneğin, websayfanızda bitcoin kurlarını gösteren bir uygulamanın olmasını istiyorsunuz. İnternette bu hizmeti sağlayan pek çok websitesi bulabilirsiniz. Fakat bu sitelerden CoinDesk sitesi, bu hizmetini bedava ve üyelik şartı olmadan sunuyor. Yani üye kaydına ve bir API KEY'e ihtiyacınız yok. O yüzden bu siteyi tercih edelim. Websitesini incelediğinizde, siteye göndereceğiniz sorgunun nasıl olması gerektiği bilgileri yer alıyor. İlk olarak elde etmek istediğimiz bilginin ne olduğunu uygun bir sorgu şeklinde siteye göndermemiz gerekiyor. Oluşturacağımız sorgular her API hizmeti veren websitesinde farklıdır. O yüzden açıklama kısımlarını iyice incelememiz ve gönderilecek sorgunun nasıl olması gerektiğini öğrenmemiz gerekiyor. Site açıklamalarına baktığımız zaman euro, dolar ve sterlin için göndermemiz gereken sorgunun https://api.coindesk.com/v1/bpi/currentprice.json şeklinde olması gerektiğini görebilirsiniz. Eğer linke tıklarsanız, sitenin cevabının JSON formatında olduğunu görürsünüz (Forbidden hatası alırsanız sayfayı yenileyiniz). Artık tek yapmamız gereken JSON formatındaki bilgileri alıp, kendimize göre düzenlemek ve sitemize eklemek olacaktır. Bahsettiğim uygulamayı aşağıda inceleyebilirsiniz.
Sihirli Fasulyeler BitCoin Kur Uygulaması
Dikkat : Uygulama örnek amaçlıdır. Değerlerin doğru olduğu garantisi verilmez.
JSON'larla ilgili sonraki bölümde, hizmet almak istediğimiz websitelerine gönderdiğimiz sorguların sonuçlarını nasıl alırız, nasıl işleyebiliriz konusuna değindik. İkinci bölüme buradan ulaşabilirsiniz.
- Yayın Süresi : 2650 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 248337 Kere En Çok Yorum Alan : Logaritma Nedir, Ne İşe Yarar, Gerçek Hayatta Nerelerde Kullanılır? 19 Kere En Çok Değerlendirilen : Napier'in Kemikleri (Matematik) 233 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.