JSON (JavaScript Object Notation, pronunciato /ˈdʒeɪsən/; anche /ˈdʒeɪˌsɒn/[nota 1]) è un formato di file standard che usa un testo leggibile per la trasmissione di dati, oggetti composti di coppie attributo–valore e tipi di dati matrice (o qualsiasi altro serializable valore). È un formato di dati comune, con una vasta gamma di applicazioni, ad esempio come sostituto per XML AJAX sistemi.
JSON è un linguaggio indipendente formato di dati. È stato derivato da JavaScript, ma molti moderni linguaggi di programmazione includere il codice per generare e analizzare JSON-formato di dati. Il Internet ufficiale tipo di supporto per il JSON è application/json. JSON nomi di file usare l'estensione .json.
Douglas Crockford originariamente specificato il formato JSON nei primi anni del 2000. JSON è stato prima standardizzato nel 2013, come ECMA-404. Il più recente formato JSON standard è stato pubblicato nel 2017 come RFC 8259, e rimane coerente con ECMA-404. Quello stesso anno, JSON è stato standardizzato come ISO/IEC 21778:2017. ECMA e ISO standard descrive la sintassi possibile, considerando che la RFC copre un po ' di sicurezza e di interoperabilità considerazioni.
JSON di base dei tipi di dati sono:
- Numero: firmato un numero decimale che può contenere una parte frazionaria e può utilizzare esponenziale E la notazione, ma non può includere numeri come NaN. Il formato non fa alcuna distinzione tra interi e in virgola mobile. JavaScript utilizza una doppia precisione in virgola mobile formato per tutti i suoi valori numerici, ma in altre lingue attuazione JSON può codificare i numeri in modo diverso.
- Stringa: una sequenza di zero o più caratteri Unicode. Le stringhe sono delimitati da virgolette doppie e a supporto di una barra rovesciata in fuga sintassi.
- Booleano: uno dei valori true o false
- Array: un elenco ordinato di zero o più valori, ciascuno dei quali può essere di qualsiasi tipo. Matrici uso di parentesi quadre di notazione con elementi separati da virgole.
- Oggetto: un insieme non ordinato di coppie nome–valore, dove i nomi (anche chiamato chiavi sono stringhe. Gli oggetti sono destinati a rappresentare gli array associativi, in cui ogni tasto è unico all'interno di un oggetto. Gli oggetti sono delimitati da parentesi graffe e utilizzare le virgole per separare ogni coppia, mentre all'interno di ciascuna coppia i due punti ':' il carattere che separa la chiave o il nome dal suo valore.
- null: Un valore vuoto, usando la parola null
Gli spazi sono consentiti e ignorato in giro o tra elementi sintattici (valori e la punteggiatura, ma non all'interno di un valore di stringa). e, usando la parola null
Gli spazi sono consentiti e ignorato in giro o tra elementi sintattici (valori e la punteggiatura, ma non all'interno di un valore di stringa). Quattro caratteri specifici sono considerati gli spazi per questo scopo: spazio, tabulazione orizzontale, linea di alimentazione, e di ritorno a capo. In particolare, il byte order mark non deve essere generato da una realizzazione conforme (anche se può essere accettato quando il parsing JSON). JSON non forniscono la sintassi per i commenti.
Le prime versioni di JSON (come specificato da RFC 4627) e ' richiesto un documento di testo JSON deve consistere solo un oggetto o un tipo di matrice, che potrebbe contenere anche altri tipi all'interno di essi.