2. JSON Grammar (Grammatica JSON)
Un testo JSON è una sequenza di token. L'insieme di token include sei caratteri strutturali, stringhe, numeri e tre nomi letterali.
Un testo JSON è un valore serializzato. Si noti che alcune specifiche JSON precedenti limitavano un testo JSON a un oggetto o un array. Le implementazioni che generano solo oggetti o array dove è richiesto un testo JSON saranno interoperabili, poiché tutte le implementazioni accetteranno questi come testi JSON conformi.
JSON-text = ws value ws
Questi sono i sei caratteri strutturali:
begin-array = ws %x5B ws ; [ parentesi quadra sinistra
begin-object = ws %x7B ws ; { parentesi graffa sinistra
end-array = ws %x5D ws ; ] parentesi quadra destra
end-object = ws %x7D ws ; } parentesi graffa destra
name-separator = ws %x3A ws ; : due punti
value-separator = ws %x2C ws ; , virgola
Lo spazio bianco insignificante è consentito prima o dopo uno qualsiasi dei sei caratteri strutturali.
ws = *(
%x20 / ; Spazio (Space)
%x09 / ; Tabulazione orizzontale (Horizontal tab)
%x0A / ; Avanzamento riga (Line feed or New line)
%x0D ) ; Ritorno carrello (Carriage return)