JSON (JavaScript Object Notation) Nedir?

JSON'un açılımı Javascript Object Notation'dur. Yapısı XML'e benzer. Javascript'in alt kümesi olduğundan javascript işlemleride XML'e göre daha hızlıdır. 19 Kasım 2020

XML'e göre daha az yer kaplar. Okunabilirliği XML'e göre daha kolaydır. JSON yapısal olarak 5 veri tipine sahiptir.


• Number
•  String
• Array: "name": […] şeklinde kullanılır.
• Boolean: true|false
• Object: "name": {..} şeklinde kullanılır.
• Null

 

Örnek bir JSON içeriğini bu 5 tipi barındıracak şekilde şöyle oluşturabiliriz:

 

{
 "name": "Charles",
 "surname": "Freck",
 "age": 26,
 "address": {
  "city": "Anaheim",
  "county": "Orange County",
  "state": "California",
  "coordinates": {
   "ID": [
    [33, 50, 7.0548, "N"],
    [117, 54, 52.2180, "W"]
   ]
  }
 },
 "contact": [{
   "type": "telephone",
   "number": "25052006"
  },
  {
   "type": "e-mail",
   "name": "ascanner@darkly.com"
  },
  {
   "type": [{
     "account": "facebook",
     "url": "https://facebook.com/charles.freck",
     "official": false
    },
    {
     "account": "twitter",
     "url": "https://twitter.com/charles.freck",
     "official": true
    },
    {
     "account": "instagram",
     "url": "https://instagram.com/charles.freck",
     "official": false
    },
    {
     "account": "linkedin",
     "url": null,
     "official": null
    }
   ]
  }
 ]
}

 

Bu örneği A-Scanner-Darkly.json olarak kayıt edebiliriz. Buradaki *.json JSON içeriği bulunan dosyaların uzantısıdır. Örnekte de görüldüğü üzere veriler 2 parçadan oluşmaktadır. Bu parçalardan ilki key (anahtar), diğeri ise value (değer) olarak nitelendirilir. Key nesnenin (property) hangi özelliğinin olduğunu, değer ise key’in içeriğini kapsar. Yukarıdaki örnek üzerinden açıklamak gerekirse “name” bir key, “Charles” ise value olarak ifade edilir. Görüldüğü üzere JSON oldukça pratik bir şekilde okunabilmekte ve veri içeriği esnek bir şekildegenişletilebilmekte.

 

JSON ve XML Farkı Nedir?

 

Öncelikle her iki formatın avantaj ve dezavantajları olduğunu, duruma göre formatların sürdürülebilirlik, esneklik ve güvenlik gibi konular  dahilinde tercih edilmesi gerektiğini belirtmekte fayda var. Performans temelinde bir karşılaştırma yapmak gerekirse;

 

• JSON yığınını okumak oldukça kolaydır. XML dili veri değişim işlemlerinde yavaş kalmaktadır.
• XML etiketlerden oluşur ve standartlar dahilinde işler. Ara işleyişlerde sağlıklı ve güvenli bir yapı sunar. Ancak, esnek değildir. 
• JSON pek çok sistem içerisinde esnek bir şekilde kullanılabilir.
• XML'de ve ile elementler tanımlanır. JSON da ise element { .. } şeklindedir
• JSON çıkış noktası Javascript'tir. XML ile markup dillerinden çıkmıştır.
• JSON, Javascript'in doğrudan dilinin bir özelliğidir ve doğrudan desteklenmektedir
• JSON'un , XML'e göre daha kısa bir yazımı vardır ve daha kolay okunabilir ve yazılabilir
• JSON'da dizi desteği vardır. XML'de dizi diye ayrı bir kavram yoktur

 


Malformed (Geçersiz) JSON Nedir?

 

Sık karşılaşılan JSON hatalarındandır ve JSON içeriğinde hatalı bir alan olduğunu (tanımın sonlandırılmadığı, köşeli/süslü parantezin kapatılmadığı durumlar gibi) belirtir. Çoğunlukla bir yazım yanlışı nedeniyle ortaya çıkan bu hata JSON yapısını etkiliyor ise yapının düzenlenmesi sonucunda kolaylıkla çözülebilir. Bu uyarıya neden olabilecek bazı örnekler ve çözüm önerileri;

 

• "{test: 1}" (test çift tırnak içerisinde olmalıdır).
• "{'test': 1}" ('test' tek tırnak içerisinde yer almakta, çift tırnak ile güncellenmelidir).
• "'test'" ('test' tek tırnak içerisinde yer almakta, çift tırnak ile güncellenmelidir).
• ".1" (Bir sayı yine sayısal bir değerle başlamalıdır. Örneğin .1 aslında 0.1 ile aynı ifade olsa da . ile başlamış olması hataya neden olmaktadır. 
• Bu nedenle ilgili değer 0.1 olarak güncellenmelidir.).
• "undefined" (undefined JSON için anlamlı bir ifade değildir. Bunun yerine null gibi anlamlı bir ifade kullanılabilir).
• "NaN" (NaN JSON için anlamlı bir ifade değildir. Ayrıca doğrudan Infinity temsiline de izin verilmez).
• JSON standardı tab ve yeni satır gibi kontrol karakterlerinin (\t, \n vb.) kullanımına izin vermez.
• Geçersiz JSON ifadelerini JSONFormatter ve benzeri araçlarla kontrol edebilir, sorunları kolaylıkla düzenleyebilirsiniz.

Benzer Blog yazıları

Web Yazılımcısı Olmak

Web geliştirme, web sitelerinin inşası ve bakımıdır; Bir web sitesinin harika görünmesi, hızlı çalışması ve sorunsuz bir kullanıcı de...Devamı…

SSL nedir ? Ne için kullanılır ?

Önceki yıllarda genelde bankalarda ve büyük kurumlarda karşımıza çıkan SSL son yıllarda bir çok web sitesi tarafından kul...Devamı…

PHP Programlama Dili

PHP sunucu taraflı çalışan bir dildir. İlk kez 1995 yılında Rasmus Lerdorf tarafından oluşturulmuştur. PHP'nin geliştirilmesi PHP topl...Devamı…

Nesnelerin İnterneti (IoT)

Nesnelerin İnterneti veya IoT, dünyada artık internete bağlı, veri toplayan ve paylaşan milyarlarca fiziksel cihazı ifade eder. Ucuz işlemciler v...Devamı…

Hızlı İletişim
Hızlı İletişim+90 212 347 33 11info@ata.com.trTeklif İste
Teklif İste