Web siteleri

JSON Veri Değişim Biçimi Standartları Niçin Aldı

Learn JSON in 10 Minutes

Learn JSON in 10 Minutes
Anonim

Yaklaşan ve hafif bir veri XML'in bir alternatifi olarak giderek artan sayıda insan tarafından kabul edilen Web uygulamaları için değişim formatı, standart Ecma biriminden bir destek elde etti.

Ecma Genel Kurulu, Istvan Sebestyen'e göre ECMAScript'in beşinci baskısını onayladı. örgütün genel sekreteri. Popüler JavaScript'in bir diyalektiği olan ECMAScript'in bu yeni sürümünde, JavaScript Object Notation (JSON) kullanımı için yerel destek bulunmaktadır.

Bu katılım "geliştiriciler üzerinde kesinlikle büyük bir etkiye sahip olacaktır," diyor Douglas Crockford, Yahoo yazılımı mimar JSON'un yaratıcısı olarak nitelendirildi.

"JSON zaten Web uygulamalarında oldukça yaygın olarak kullanılmaktadır. JSM'nin ECMAScript diline eklenmesiyle [JSON] uygulamaları daha hızlı ve daha güvenli hale gelecektir." Dedi. Onay aynı zamanda Web uygulama geliştirme topluluğunun, farklı sistemler arasında veri alışverişi yapmak için tek istenen standart olarak XML kullanmaktan uzaklaştığının bir işaretidir, en azından nispeten basit yapısal verilerin sunulması gereken durumlarda.

Yeni resmi, resmen başlıklı ECMA-262, JSON metinleri oluşturmak ve ayrıştırmak için bir nesne içerir. Çoğunlukla, Crockford tarafından yazılan 2006 İnternet Mühendisliği Görev Gücü RFC 4627'yi takip ediyor. Yeni ECMAScript standardı, JSON'u çevreleyen bir dizi güvenlik sorununu düzeltmeye çalışmaktadır.

Son birkaç yılda, giderek artan sayıda Web uygulama geliştiricisi, Basit Nesne Erişim Protokolü gibi XML tabanlı yaklaşımlar yerine JSON'u işaretlemiştir. veri böylece iki bilgisayar arasında aktarılabilir. Bu, Web uygulama geliştirme topluluğundaki iki rakip karşıtı kampı yarattı.

"JSON ve XML savunucuları arasındaki bölünme güçlü ve öngörülebilir gelecekte de devam edecek," diyor Ajax mimar ve Virginia'nın asıl ortağı Daniel Markham merkezli danışmanlık şirketi Bedford Technology Group.

Avukatlar, sadeliği nedeniyle JSON'a övgüde bulundular. RFC'ye göre, JSON "yapısal verilerin serileştirilmesi" için özel olarak geliştirilmiştir. JSON, alıcı tarafından ayrıştırılabilmesi için iletilecek verilerin nasıl sipariş edileceğine dair bir dizi kural veya dilbilgisidir. Nesneleri ve dizileri biçimlendirmek için JavaScript kurallarını ödünç alır. Bunun tersine, XML şema tabanlı işaretleme etiketlerine dayanır, bu da veri kümelerini genellikle JSON'da oluşturulmuş olanlardan daha büyük ve daha karmaşık hale getirme eğilimindedir.

"XML üzerinde bir JSON hayranıyım. Markham, JavaScript nesnelerinizin sunucu varlıklarınızla yakından eşleşmesi durumunda elinizde olmayan fazladan bilişsel bir yük var. Markham ayrıca XML'in JSON'un eşleşemeyeceği bir esnekliğe sahip olduğunu da not etti. "XML, İnternet'in İsviçre Ordusu bıçağı olarak kalıyor: her türlü veriyi herhangi bir konektörden halledebiliyor" dedi.

Crockford, 2001 yılında Ajax web geliştirme araçlarını kullanarak bir dizi Web uygulamasında çalışırken JSON'u formüle etti. JavaScript, XML ve HTML içerir. XML'in ihtiyaçları için çok hantal olduğunu tespit etti. Crockford, "XML, sadece inanılmaz derecede çirkin ve verimsizdi ve bu yüzden, verileri temsil etmek için JavaScript'in kendi veri sunumunu kullanarak ortaya çıktık." Dedi. Crockford, JSON'un mucidi olarak kabul edilmektedir, ancak bu temyiz edenin üstlenilmesi konusunda mütevazıdır. “Zaten doğada var. Bunu yeni keşfettim” dedi.

2001'deki kuruluşundan bu yana, JSON popülerlik kazandı. JSON.org sitesi Perl, Active Server Pages, PHP, C, Java, Python ve diğerleri gibi diller için bir dizi JSON dönüştürücüsü listeler. Yahoo, Web servisleri için JSON'u destekler. Internet Explorer ve Firefox'un son sürümlerinin her ikisi de JSON desteğine sahiptir. Crockford, “JSON, ECMAScript 5'in evrensel olarak ortaya çıkacak ilk biti olacağı gibi görünüyor” dedi.JSON'un kendisi ECMAScript'in bir parçası olmuştur, en azından Crockford'un ECMAScript dilbilgisini JSON'un temeli olarak kullandığı ölçüde. ECMAScript 5 ile fark, Crockford kaydetti, ECMAScript JSON için "yerleşik kütüphane desteği" var. Bu, güvenlik konularında yardımcı olacaktır.

Çoğu geliştirici, JSON tabanlı metni kullanılabilir veri yapılarına ayrıştırmak için JavaScript eval () işlevini kullandı. Güvenlik uzmanları bu yaklaşımı bir güvenlik açığı olarak görmektedir, çünkü bu girdi türü üçüncü tarafların kötü amaçlı kod eklemesine izin verebilir. Yeni ayrıştırıcı, eval () işlevini kullanma gereğini ortadan kaldırıyor, Crockford dedi.

Sun Microsystems'te XML formatının ve Web teknolojilerinin direktörünün yaratıcılarından Tim Bray, XML uygulayıcıları ile birlikte çalıştıklarını belirtti. JSON değeri. "XML, belgeleri (blog parçaları, haber bültenleri, tıbbi kayıtlar) değiştirmeyi mümkün kılan bir dizi özelliğe sahiptir ve bunlar, saf verilerin birbiriyle değiştirilmesi için gereksiz olabilir," diye yazıyor e-posta. "JSON, bu tür şeyleri birbiri ile değiştirmek için gerçekten iyi çalışıyor ve XML gibi, satıcıdan bağımsızdır."

Bray, ECMA nimetinin daha fazla JSON benimsenmesi üzerinde çok fazla etkiye sahip olacağından şüphe duyuyor, çünkü zaten yaygın olarak kullanılıyor ve çalışmıyor ' Standartların genellikle ele aldığı birlikte işlerlik sorunlarından muzdariptir. “Açıkçası, JSON'un gerçekliğini tanıyan ECMAScript'te [revizyon] hiçbir zarar yoktur [ancak] JSON, Web BT kültürüne zaten derinden implante edilmiştir.”

ECMAScript, başlangıçta JavaScript programlama dilinin satıcı-nötr versiyonudur. Netscape tarafından Web tarayıcıları için bir betik dili olarak oluşturulmuştur.