Siti web

Il formato di interscambio dati JSON ottiene la benedizione degli standard

Creo un SITO WEB (da Zero) #06 ⋆ REST, RESTful WS, JSON e AJAX

Creo un SITO WEB (da Zero) #06 ⋆ REST, RESTful WS, JSON e AJAX
Anonim

I dati leggeri emergenti Il formato di interscambio per le applicazioni Web, considerato da un numero crescente di persone come un'alternativa all'XML, ha ottenuto un impulso dal corpo normativo Ecma.

L'Assemblea Generale Ecma ha approvato la quinta edizione di ECMAScript, secondo Istvan Sebestyen, segretario generale dell'organizzazione. Incluso in questa nuova versione di ECMAScript, di cui il popolare JavaScript è un dialetto, è il supporto nativo per l'utilizzo di JavaScript Object Notation (JSON).

Questa inclusione "avrà sicuramente un grande impatto sugli sviluppatori", ha affermato Douglas Crockford, L'architetto software di Yahoo cita come creatore di JSON.

"JSON è già ampiamente utilizzato nelle applicazioni Web. Avendo incorporato JSON nel linguaggio ECMAScript, le implementazioni [JSON] diventeranno più veloci e più sicure", ha affermato Crockford. L'approvazione è anche un segnale del fatto che la comunità di sviluppo di applicazioni Web si sta allontanando dall'uso dell'XML come unico standard desiderato per lo scambio di dati tra sistemi disparati, almeno in quei casi in cui è richiesta la consegna di dati strutturati relativamente semplici.

Il nuovo standard, ufficialmente intitolato ECMA-262, include un oggetto per la creazione e l'analisi di testi JSON. Per la maggior parte, segue la Internet Engineering Task Force RFC 4627 del 2006, creata da Crockford. Il nuovo standard ECMAScript tenta di correggere una serie di problemi di sicurezza relativi a JSON.

Negli ultimi anni, un numero crescente di sviluppatori di applicazioni Web ha utilizzato JSON invece di approcci basati su XML, come il Simple Object Access Protocol, per contrassegnare dati in modo che possa essere trasferito tra due computer. Ciò ha creato due campi a volte opposti all'interno della comunità di sviluppo di applicazioni Web.

"La divisione tra i sostenitori di JSON e XML è forte e continuerà per il prossimo futuro", ha dichiarato Daniel Markham, architetto Ajax e principale partner della Virginia la società di consulenza Bedford Technology Group.

Gli avvocati hanno lodato JSON per la sua semplicità. Secondo la RFC, JSON è stato specificamente sviluppato per gestire "la serializzazione di dati strutturati". JSON è un insieme di convenzioni, o una grammatica, su come ordinare i dati da trasmettere in modo che possano essere analizzati dal destinatario. Prende in prestito le regole JavaScript per la formattazione di oggetti e array. Al contrario, XML si basa su tag di markup basati sullo schema, che tendono a rendere i set di dati più grandi e complessi rispetto a quelli tipicamente renderizzati in JSON.

"Sono un fan generale di JSON su XML, principalmente perché XML ha molto di fluff sintattico devi scavare per ottenere qualcosa di utile da esso. C'è solo un carico cognitivo extra che non si ha se i tuoi oggetti JavaScript si adattano strettamente alle entità del tuo server ", ha detto Markham. Markham ha anche notato che XML ha una flessibilità che JSON non può eguagliare. "XML rimane il coltellino svizzero di Internet: in grado di gestire tutti i tipi di dati da qualsiasi connettore", ha affermato.

Crockford ha formulato JSON nel 2001 quando lavorava su un certo numero di applicazioni Web utilizzando il set Ajax di strumenti di sviluppo web, che include JavaScript, XML e HTML. Ha trovato che XML era troppo voluminoso per i suoi bisogni. "XML è stato semplicemente ingiustificatamente brutto e inefficiente, e così abbiamo pensato di utilizzare la rappresentazione dei dati di JavaScript per rappresentare i dati", ha detto Crockford. Crockford è ampiamente citato come l'inventore di JSON, sebbene sia modesto nell'assumere questo appellativo. "Era già esistito in natura, l'ho appena scoperto", ha detto.

Dalla sua creazione nel 2001, JSON è cresciuto in popolarità. Il sito JSON.org elenca un numero di convertitori JSON per lingue come Perl, Active Server Pages, PHP, C, Java, Python e altri. Yahoo supporta JSON per i suoi servizi Web. Le ultime versioni di Internet Explorer e Firefox hanno entrambi il supporto JSON. JSON "sembra che sarà il primo bit di ECMAScript 5 che verrà rilasciato universalmente", ha detto Crockford.

JSON stesso è sempre stato una parte di ECMAScript, almeno nella misura in cui Crockford utilizzava la grammatica ECMAScript come base per JSON. La differenza con ECMAScript 5, ha osservato Crockford, è che ECMAScript ha "supporto di libreria integrato" per JSON. Ciò aiuterà in materia di sicurezza.

La maggior parte degli sviluppatori ha utilizzato la funzione JavaScript eval () per analizzare il testo basato su JSON in strutture di dati utilizzabili. I professionisti della sicurezza considerano questo approccio un difetto di sicurezza, poiché questa forma di input potrebbe consentire a terze parti di inserire codice dannoso. Il nuovo parser elimina la necessità di utilizzare la funzione eval (), ha affermato Crockford.

Tim Bray, un co-creatore del formato XML e direttore delle tecnologie Web presso Sun Microsystems, ha notato che i praticanti XML con cui ha lavorato vedono il valore di JSON. "XML ha un sacco di funzionalità che rendono possibile lo scambio di documenti (articoli di blog, comunicati stampa, cartelle cliniche) e questi possono essere superflui per scambiare dati puri", ha osservato per e-mail. "JSON funziona molto bene per intercambiare questo genere di cose e, come XML, è indipendente dal venditore."

Bray dubita che la benedizione dell'ECMA avrà un grande impatto su un'ulteriore adozione di JSON, poiché è già ampiamente utilizzata e non lo fa t soffrire dei problemi di interoperabilità che gli standard di solito affrontano. "Ovviamente, non c'è nulla di male nella ECMAScript [revisione] che riconosce la realtà di JSON [ma] JSON è già profondamente impiantato nella cultura Web IT."

ECMAScript è la versione indipendente dal fornitore del linguaggio di programmazione JavaScript, originariamente creato da Netscape come linguaggio di scripting per i browser Web.