Passa al contenuto principale

1. Introduction (Introduzione)

JavaScript Object Notation (JSON) è un formato testuale per la serializzazione di dati strutturati. Deriva dai letterali di oggetti JavaScript, come definiti nello standard del linguaggio di programmazione ECMAScript, terza edizione [ECMA-262].

JSON può rappresentare quattro tipi primitivi (stringhe, numeri, booleani e null) e due tipi strutturati (oggetti e array).

Una stringa è una sequenza di zero o più caratteri Unicode [UNICODE]. Si noti che questo riferimento punta all'ultima versione di Unicode, non a una versione specifica. Si prevede che i futuri cambiamenti alla specifica Unicode non influenzeranno la sintassi di JSON.

Un oggetto è una collezione non ordinata di zero o più coppie nome/valore, dove un nome è una stringa e un valore può essere una stringa, un numero, un booleano, null, un oggetto o un array.

Un array è una sequenza ordinata di zero o più valori.

I termini "oggetto" e "array" derivano dalle convenzioni di JavaScript.

Gli obiettivi di progettazione di JSON erano di essere minimale, portabile, testuale e un sottoinsieme di JavaScript.

1.1. Conventions Used in This Document (Convenzioni utilizzate in questo documento)

Le parole chiave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" e "OPTIONAL" in questo documento devono essere interpretate come descritto in [RFC2119].

Le regole grammaticali in questo documento devono essere interpretate come descritto in [RFC5234].

1.2. Specifications of JSON (Specifiche di JSON)

Questo documento aggiorna [RFC4627], che descriveva JSON e registrava il tipo di media "application/json".

Una descrizione di JSON in termini ECMAScript appare nella versione 5.1 della specifica ECMAScript [ECMA-262], sezione 15.12. JSON è anche descritto in [ECMA-404].

Tutte le specifiche grammaticali JSON concordano sugli elementi sintattici del linguaggio.

1.3. Introduction to This Revision (Introduzione a questa revisione)

Negli anni trascorsi dalla pubblicazione di RFC 4627, JSON ha avuto un uso molto ampio. Questa esperienza ha rivelato certi modelli che, sebbene consentiti dalle specifiche, hanno portato a problemi di interoperabilità.

Inoltre, è stato segnalato un piccolo numero di errata (vedere gli ID erratum RFC 607 [Err607] e 3607 [Err3607]).

L'obiettivo di questo documento è applicare questi errata, eliminare le incoerenze con altre specifiche JSON e evidenziare le pratiche che possono portare a problemi di interoperabilità.