JavaScript Object Notation
JavaScript Object Notation (JSON ˈdʒeɪ·sən[1]) è un formato per lo scambio dati basato sul linguaggio di programmazione JavaScript (ECMA-262)[2]. È utilizzato in programmazione web come alternativa al formato XML[3]. Originariamente descritto nella RFC 4627[4], è diventato uno standard ECMA nel 2013 come ECMA-404[5][6]. Nel 2017 è stata pubblicata una seconda edizione del formato che costituisce la base dello standard ISO/IEC 21778[7][8]. CaratteristicheLa semplicità di JSON format ne ha decretato un rapido utilizzo specialmente nella programmazione in AJAX. Il suo uso tramite JavaScript è particolarmente semplice, infatti l'interprete è in grado di eseguire il parsing di una stringa che ne rappresenti un valido contenuto tramite la funzione I tipi di dati supportati da questo formato sono:
La maggior parte dei linguaggi di programmazione possiede un typesystem molto simile a quello definito da JSON per cui sono nati molti progetti che permettono l'utilizzo di JSON con altri linguaggi quali, per esempio: ActionScript, C, C#, Adobe ColdFusion, Common LISP, Delphi, E, Erlang, Java, JavaScript, Lua, ML, Objective Caml, Perl, PHP, Python, REBOL, Ruby e Rust. Uno stream JSON dovrebbe avere un'intestazione HTTP Fra i primi utilizzatori di JSON si trova Yahoo!, dal 2005[11]. Relazione con altri linguaggi di markupIl JSON è un formato di interscambio di dati, ed è spesso comparato con l'XML che però è un linguaggio di markup. Entrambi non hanno un sistema di rappresentazione dei dati binari[12], per cui è compito del programmatore adottare convenzioni appropriate (per esempio Base64) per convertire i dati binari in forma testuale. Alcune delle limitazioni di JSON sono coperte da YAML[13]. FormatoIl seguente esempio rappresenta i dati di un'ipotetica persona in formato JSON: {
"name": "Mario",
"surname": "Rossi",
"active": true,
"favouriteNumber": 54,
"birthday": {
"day": 1,
"month": 1,
"year": 2000
},
"languages": [ "it", "en" ]
}
UtilizziIn JavaScriptSegue un semplice esempio di richiesta AJAX in JavaScript, ad un URL che risponda con dati JSON.[14] var httpRequest = new XMLHttpRequest();
// callback
httpRequest.addEventListener( 'load', function () {
// parse della risposta (si presume sia in formato JSON)
var data = JSON.parse( this.responseText );
// fare qualcosa con i dati
console.log( data );
} );
// inizializzazione e invio
httpRequest.open( 'GET', 'https://it.wikipedia.org/w/api.php?action=query&prop=info&titles=Pagina+principale&format=json' );
httpRequest.send();
Applicazioni Mobili Per far comunicare il back-end all'applicazione mobile è possibile inviare i dati attraverso il protocollo HTTP in formato JSON[15]. SupportoIn JavaScriptTra i browser senza il supporto a
Un gran numero di librerie semplificarono l'utilizzo del formato JSON per effettuare richieste Ajax. Si citano JQuery ed AngularJS.[17][18] Storicamente vi fu un'indiscriminata adozione del metodo Si cita il supporto a
Altre metodologie di supportoVi sono altri modi ormai obsoleti per ottenere stream JSON, per esempio l'uso dell'elemento Anche il tag Note
Bibliografia
Voci correlateAltri progetti
Collegamenti esterni
|
Portal di Ensiklopedia Dunia