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 precedenti di JSON vincolavano un testo JSON a essere un oggetto o un array. Le implementazioni che generano solo oggetti o array dove è richiesto un testo JSON saranno interoperabili nel senso che 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 ; [ left square bracket
begin-object = ws %x7B ws ; { left curly bracket
end-array = ws %x5D ws ; ] right square bracket
end-object = ws %x7D ws ; } right curly bracket
name-separator = ws %x3A ws ; : colon
value-separator = ws %x2C ws ; , comma
Gli spazi bianchi non significativi sono consentiti prima o dopo uno qualsiasi dei sei caratteri strutturali.
ws = *(
%x20 / ; Space
%x09 / ; Horizontal tab
%x0A / ; Line feed or New line
%x0D ) ; Carriage return