OW Debug - Notice
Message: Trying to access array offset on value of type null
File: /home/romarekl/public_html/sosyallift.com/ow_plugins/forum/controllers/topic.php
Line: 136
JS - JSON Nedir, Neler yapılabilir, Faydaları, Kullanım alanları, J...
Loading...
 
tr
Serkan BEKİROĞULLARI
Serkan BEKİROĞULLARI Mayıs 15 '20
JSON NEDİR? JSON(Javascript Object Notation) (Javascript nesne gösterimi), bütün programlama dilinden bağımsız olan, XML’e (Extensible Markup Language) (genişletilebilir işaretleme diline) alternatif olarak üretilmiş, javascript tabanlı veri değişim formatıdır. EcmaScript dil şartnamesinde tanımlandığı gibi Javascript'te bulunan nesne değişmezlerinden esinlenilerek tasarlanmıştır. JSON’ın (Javascript Object Notation) (Javascript nesne gösteriminin) temel amacı veri alış verişi yaparken daha küçük boyutlarda veri alıp göndermektir. Temel olarak Javascript programlama dilinin standart Ecma-262 3. yayın sürümünün alt kümesi üzerine kurulmuştur fakat programlama dilinden bağımsızdır. Javascript'in alt kümesi üzerine kurulu olduğu için javascript işlemlerinde XML’e (Extensible Markup Language) (genişletilebilir işaretleme diline) göre daha hızlıdır, daha az yer kaplar ve okunabilirliği daha kolaydır. C türevi (C, C++, C#, Java, Javascript, Perl, Python vs.) dillere benzeyen yazılımından dolayı, bu tür dillerde rahatlıkla işlenebilir. JSON (Javascript Object Notation) (Javascript nesne gösterimi) sayesinde hızlı ve küçük boyutlarda veri oluşturulabilmektedir. JSON (Javascript Object Notation) (Javascript nesne gösterimi) sahip olduğu ağaç yapısıyla DOM (Document Object Model) (belge nesne modeli) ve XML (Extensible Markup Language) (genişletilebilir işaretleme dili) ile benzerlik gösterse de bunlardan tamamen farklı bir yapıdadır. Bu yapılar, evrensel veri yapılarıdır. Günümüzde bütün modern programlama dilleri, bu yapıları, bir şekilde içlerinde barındırmaktadırlar. Programla dilleri arasında veri değişimi için kullanılan bir formatın, bu yapıları kullanarak oluşturulması da oldukça anlamlıdır.


JSON (Javascript Object Notation) (Javascript nesne gösterimi) tamamıyla Unicode (evrensel kod) olarak çalışır. Varsayılan olarak UTF-8 (Unicode Transformation Format) (evrensel dönüşüm formatı) karakter setini kullanır. Karakter seti problemi yaşanılmayacak veri aktarım formatlarından biridir. JSON (Javascript Object Notation) (Javascript nesne gösterimi) herhangi bir sürüm numarasına sahip değildir. Çünkü grameri kesindir, tamamıyla oturmuş ve düzgün çalışan bir yapıdadır. Ayrıca hemen hemen tüm dillerin veri aktarımları için kullanabildiği ve desteklediği bir formattır. Postel'in Kabul ederken esnek ol, gönderirken tutucu ifadesine uygun yapısı vardır. Bu yüzden JSON (Javascript Object Notation) (Javascript nesne gösterimi) yorumlayıcılar JSON (Javascript Object Notation) (Javascript nesne gösterimi) harici formatları kabul eder, ama JSON (Javascript Object Notation) (Javascript nesne gösterimi) oluşturucuların sağlıklı çalışması için geçerli bir JSON (Javascript Object Notation) (Javascript nesne gösterimi) ifadesi oluşturması şarttır. Bu JSON’ın (Javascript Object Notation) (Javascript nesne gösteriminin) genişletilmesine izin verir. Örnek vermek gerekirse Javascript, JSON’ın (Javascript Object Notation) (Javascript nesne gösteriminin) bir üst kümesidir ve doğal olarak JSON (Javascript Object Notation) (Javascript nesne gösterimi) desteğine sahiptir.



JSON (Javascript Object Notation) (Javascript nesne gösterimi) günümüzde web uygulamalarında, web servislerde, API’lerde (Application Programing Interfaces) (uygulama programlama arayüzlerinde), mobil uygulamalarda, Java uygulamalarında, .NET uygulamalarında, PHP (Hypertext Preprocessor) (üstün yazı ön işlemcisi) (Personal Home Page) (kişisel ana sayfa) uygulamalarında, ASP (Active Server Pages) (aktif sunucu sayfaları) uygulamalarında, veri transferlerinde vs. birçok ortamda kullanılmaktadır. JSON (Javascript Object Notation) (Javascript nesne gösterimi) verileri birbirlerine genellikle { } (süslü parantez açma - kapatma) işareti ile bağlanır ve JSON Object (Javascript Object Notation Object) (Javascript nesne gösterimi nesnesi) olarak adlandırılır. Ayrıca istenilirse JSON (Javascript Object Notation) (Javascript nesne gösterimi) verileri birbirlerine [ ] (köşeli parantez açma - kapatma) işareti ile de bağlanabilir ve bu yapıda JSON Array (Javascript Object Notation Array) (Javascript nesne gösterimi dizisi) olarak adlandırılır.


JSON (Javascript Object Notation) (Javascript nesne gösterimi) söz dizimi kurallarında, veriler, (virgül) işareti ile ayrılmalı, diziler [ ] (köşeli parantez açma - kapatma) işareti ile ve nesneler ise { } (süslü parantez açma - kapatma) işareti ile belirtilmelidir. JSON (Javascript Object Notation) (Javascript nesne gösterimi) verileri key (anahtar) ve value (değer) çiftlerinden oluşur ve istenildiği kadar key (anahtar) ve value (değer) ikilisi tanımlanabilir.


JSON Object (Javascript Object Notation Object) (Javascript nesne gösterimi nesnesi)
{ key:value }


JSON Array (Javascript Object Notation Array) (Javascript nesne gösterimi dizisi)
[ value ]


Veriler oluşturulurken key’ler (anahtarlar) string (alfa numerik karakter dizisi) veri türünde olması gerekirken, değerler string (alfa numerik karakter dizisi), number (numara, rakam veya sayı), boolean (mantıksal), array (dizi), object (nesne) veya null (boş / geçersiz) veri türünde olabilir.

String (alfa numerik karakter dizisi) değer kullanımı
{ "Adi": "Volkan", "Soyadi": "Alakent" }
[ "Volkan", "Alakent" ]


Number (numara, rakam veya sayı) değer kullanımı
{ "DogumTarihi": "1980" }

Boolean (mantıksal) değer kullanımı
{ "OnayDurumu": true }

Array (dizi) değer kullanımı
{ "Gunler": ["Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"] }


Object (nesne) değer kullanımı
{ "Bilgi": {"HTML", "CSS", "PHP", "Javascript", "JQuery", "AngularJS", "NodeJS", "XML", "Java", "C", "C++", "Python", "Ruby", "vs."} }

Array (dizi) ve Object (nesne) değer kullanımı
{ "Bilgi": [ {"Adi" : "HTML", "Seviye" : "Uzmanlık"}, {"Adi" : "CSS", "Seviye" : "Uzmanlık"}, {"Adi" : "PHP", "Seviye" : "Uzmanlık"} ] }

Null (boş / geçersiz) değer kullanımı
{ "YasadigiUlke": "", "YasadigiSehir": null }





JSON’IN DOSYA YAPISI VE GELİŞTİRİCİLERİ
JSON (Javascript Object Notation) (Javascript nesne gösterimi) formatı Ecma International tarafından standartlaştırılmaktadır. JSON’ın (Javascript Object Notation) (Javascript nesne gösteriminin) geliştiricileri, dosya uzantısı, mime tipi, kod tipi, format tipi, çalışma ortamı ve uzatılan türü aşağıda belirtilmiştir.


Geliştirici : Ecma International

Dosya uzantısı : .json

MIME tipi : application/json

Kod tipi : Text (metin)

Format tipi : Data Interchange (veri değişimi)

Çalışma ortamı : Client (istemci) > Browser (tarayıcı) / Server (sunucu) > (NodeJS) (Google Chrome, Internet Explorer, Microsoft Edge, Mozilla Firefox, Opera, Safari, Yandex Browser vs.)

Uzatılan türü : Javascript




JSON’IN FAYDALARI
• Tamamen ücretsizdir.
• JSON’ın (Javascript Object Notation) (Javascript nesne gösteriminin) kullanımı oldukça basittir ve metin tabanlı bir formata sahiptir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), farklı platformlar arasında veri paylaşımını sağlar.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi) ile farklı kaynaklar ve uygulamalar arasında verilerin bütünleştirilmesi sağlanabilir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), yapısal verilerin server’lar (sunucular) arasında da alışverişini sağlar.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), değişik uygulamaların içindeki verileri tanımlamak içinde kullanılır. Verinin kendisini kendi tanımlayabildiği için veriyi gönderen uygulamaya bağlı kalmadan alıp işleyebilir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), verinin taşınması, değiştirilmesi, dönüştürülmesi ve sunulması gibi birçok işlevi yapabilir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi) ağaç yapısına sahiptir. Bu nedenle oluşturulan nesnelere kolaylıkla erişim sağlanabilir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), yazılımcılara kendi anahtarlarını ve kendi yapısını oluşturmasına izin verir.
• Çoğu veritabanı, veri tipi olarak JSON’ı (Javascript Object Notation) (Javascript nesne gösterimini) destekler.
• Hemen hemen her uygulamada import / export (içe aktarım) / (dışa aktarım) işlemlerinde JSON (Javascript Object Notation) (Javascript nesne gösterimi) formatı desteklenmektedir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi) kodlarını eğer herhangi bir IDE (Integrated Development Environment) (tümleşik geliştirme ortamı) programınız bulunmuyorsa, bütün Windows, Linux, Mac vs. işletim sistemlerinde bulunan not defteri programıyla yazabiliriz.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), çok farklı tiplerdeki verileri orjinal formatlarında tek bir havuzda tutar. Bu sayede bilgiye hızlı, kolay ve ortamdan bağımsız olarak erişebilme imkânı sunar.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi) sayesinde yalnızca değişen verilerin güncellenmesi sağlanabilir. Bu sayede değişen verinin görüntülenmesi bütün sayfanın yenilenmesine yol açmaz. Client’in (istemcinin) ve server’ın (sunucunun) yükünü azaltarak minimum internet trafiği sağlar ve ayrıca zaman kaybının da önlenmesine destek olur.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), veri paylaşımı yapılan web siteleri içerisinde yüksek oranda kullanılan bir veri değişim formatıdır.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi) verileri birçok özel yazılım içerisinde de %100 uyumlu olarak çalışabilmektedir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), internet üzerinde yayın bir veri aktarım formatı olması nedeniyle, internet üzerinde sayılamayacak kadar çok kaynak, doküman ve makale bulmak mümkündür.






JSON İLE NELER YAPILABİLİR?
JSON (Javascript Object Notation) (Javascript nesne gösterimi) ile sayılamayacak kadar çok işlem yapılabilir. En azından fikir olması için birkaç örnek verecek olur isek;
• Mobil programlama içerisinde kullanılabilir.
• Birçok özel yazılımda ve uygulamalar içerisinde de kullanılabilir.
• Veritabanlarının aktarılması işlemlerinde kullanılabilir.
• Finansal verilerin iletiminde kullanılabilir.
• Yazılım paketleri içerisindeki bağımlılıkların tanımlanmasında kullanılabilir.
• Dosya sistemlerinin oluşturulmasında kullanılabilir.
• Aygıt ve uygulamadan bağımsız veri aktarım işlemlerinde kullanılabilir.
• Yazılım geliştirme işlemlerinde kullanılabilir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi) ile esnek web uygulamalarının geliştirilebilir.
• E-Ticaret sitelerinin kolay veri alışverişi ve haberleşmesi için kullanılabilir.
• Şirket uygulamalarının bütünleştirmesinde kullanılabilir.

JSON İLE XML ARASINDAKİ FARKLAR JSON (Javascript Object Notation) (Javascript nesne gösterimi) sahip olduğu ağaç yapısıyla XML (Extensible Markup Language) (genişletilebilir işaretleme dili) ile benzerlik gösterse de tamamen farklı bir yapıdadır. En azından fikir olması için birkaç örnek verecek olur isek;

• JSON (Javascript Object Notation) (Javascript nesne gösterimi), XML’e (Extensible Markup Language) (genişletilebilir işaretleme diline) göre daha küçük ve hızlıdır.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), XML’e (Extensible Markup Language) (genişletilebilir işaretleme diline) göre okunabilirlik açısından daha kolay ve anlaşılabilirdir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), XML (Extensible Markup Language) (genişletilebilir işaretleme dili) gibi geliştirilebilir bir yapıya sahip değildir.
• JSON (Javascript Object Notation) (Javascript nesne gösterimi), XML’e (Extensible Markup Language) (genişletilebilir işaretleme diline) göre daha az tekrar demektir.

JSON (Javascript Object Notation) (Javascript nesne gösterimi) ve XML’in (Extensible Markup Language) (genişletilebilir işaretleme dilinin) dosya yapılarını karşılaştıracak olur isek;



JSON (Javascript Object Notation) (Javascript nesne gösterimi) (Karakter Sayısı : 227) XML (Extensible Markup Language) (genişletilebilir işaretleme dili) (Karakter Sayısı : 323) {
"EgitimSetleri":[
{
"Numara": "1",
"Adi": "HTML",
"Seviye": "Herkes için"
},
{
"Numara": "2",
"Adi": "CSS",
"Seviye": "Herkes için"
},
{
"Numara": "3",
"Adi": "Javascript",
"Seviye": "Herkes için"
},
{
"Numara": "4",
"Adi": "PHP",
"Seviye": "Herkes için"
}
]
} <EgitimSti>
<set>
<Numara>1</Numara>
<Adi>HTML</Adi>
<Seviye>Herkes için</Seviye>
</set>
<set>
<Numara>2</Numara>
<Adi>CSS</Adi>
<Seviye>Herkes için</Seviye>
</set>
<set>
<Numara>3</Numara>
<Adi>Javascript</Adi>
<Seviye>Herkes için</Seviye>
</set>
<set>
<Numara>4</Numara>
<Adi>PHP</Adi>
<Seviye>Herkes için</Seviye>
</set>
</EgitimSeti>

Bu kadar ufak bir kodlama örneğinde dahi JSON (Javascript Object Notation) (Javascript nesne gösterimi), XML’e (Extensible Markup Language) (genişletilebilir işaretleme diline) göre %42.29’luk bir oranda daha az karakterden oluşuyor. Bu da dolayısı ile dosya veri ve dosya boyutunun ufak olmasına neden oluyor ve işlem çok daha hızlı gerçekleşiyor.

Düzenlendi... Serkan BEKİROĞULLARI (Mayıs 15 '20)
Paylaş: