2. JSON Grammar (Grammaire JSON)
Un texte JSON est une séquence de jetons. L'ensemble de jetons comprend six caractères structurels, des chaînes, des nombres et trois noms littéraux.
Un texte JSON est une valeur sérialisée. Notez que certaines spécifications JSON antérieures limitaient un texte JSON à un objet ou un tableau. Les implémentations qui ne génèrent que des objets ou des tableaux là où un texte JSON est requis seront interopérables, car toutes les implémentations accepteront ces textes comme des textes JSON conformes.
JSON-text = ws value ws
Voici les six caractères structurels:
begin-array = ws %x5B ws ; [ crochet gauche
begin-object = ws %x7B ws ; { accolade gauche
end-array = ws %x5D ws ; ] crochet droit
end-object = ws %x7D ws ; } accolade droite
name-separator = ws %x3A ws ; : deux-points
value-separator = ws %x2C ws ; , virgule
Un espace blanc insignifiant est autorisé avant ou après l'un des six caractères structurels.
ws = *(
%x20 / ; Espace (Space)
%x09 / ; Tabulation horizontale (Horizontal tab)
%x0A / ; Saut de ligne (Line feed or New line)
%x0D ) ; Retour chariot (Carriage return)