RFC 7159 - The JavaScript Object Notation (JSON) Data Interchange Format
- Stato: Proposed Standard
- Pubblicato: March 2014
- Stream: IETF
- Sostituisce: RFC4627, RFC7158
- Sostituito da: RFC8259
- Errata: Nessun errata
Sommario (Abstract)
JavaScript Object Notation (JSON) è un formato di scambio dati leggero, basato su testo e indipendente dal linguaggio. Deriva dallo standard del linguaggio di programmazione ECMAScript. JSON definisce un piccolo insieme di regole di formattazione per la rappresentazione portabile di dati strutturati.
Questo documento elimina le incoerenze con altre specifiche JSON, corregge gli errori di specifica e fornisce linee guida di interoperabilità basate sull'esperienza.
Concetti fondamentali di JSON
Tipi di dati
JSON supporta i seguenti tipi di dati:
Tipi primitivi (Primitive Types):
string- Stringanumber- Numeroboolean- Booleano (true/false)null- Valore nullo
Tipi strutturati (Structured Types):
object- Oggetto (collezione non ordinata di coppie chiave-valore)array- Array (sequenza ordinata di valori)
Esempi di sintassi
Oggetto (Object):
{
"name": "张三",
"age": 30,
"city": "北京"
}
Array:
[1, 2, 3, 4, 5]
Struttura nidificata:
{
"users": [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30}
],
"total": 2
}
Cambiamenti principali rispetto a RFC 4627
- Definizione di testo JSON più flessibile: Consente al testo JSON di essere qualsiasi valore JSON, non solo oggetti o array
- Correzioni di errori: Corregge gli errori segnalati in RFC 4627
- Linee guida di interoperabilità: Fornisce più consigli sull'interoperabilità dell'implementazione
- Chiarezza della codifica: Enfatizza l'uso della codifica UTF-8
Risorse correlate (Related Resources)
- Testo originale ufficiale: RFC 7159 (TXT)
- Pagina ufficiale: RFC 7159 DataTracker
- Rende obsoleti: RFC 4627 (vecchia specifica JSON)
- Reso obsoleto da: È stato sostituito da RFC 8259
- Tipo di media:
application/json - Estensione file:
.json
Riferimento rapido
Tipo MIME
Content-Type: application/json; charset=UTF-8
Strumenti comunemente usati
Validazione online:
Supporto dei linguaggi di programmazione:
JavaScript:
const obj = JSON.parse('{"name":"Alice"}');
const str = JSON.stringify({name: "Bob"});
Python:
import json
obj = json.loads('{"name":"Alice"}')
str = json.dumps({"name": "Bob"})
Java:
// Con la libreria Jackson o Gson
ObjectMapper mapper = new ObjectMapper();
MyObject obj = mapper.readValue(jsonString, MyObject.class);
Nota importante: RFC 7159 è stato sostituito da RFC 8259, ma rimane un documento importante per comprendere la storia dell'evoluzione di JSON. Le applicazioni moderne dovrebbero fare riferimento a RFC 8259 come standard attuale.