JSON peut être un tableau ou un objet. Plus précisément hors de json.org:
JSON est construit sur deux structures:
- Une collection de paires nom / valeur. Dans diverses langues, ceci est réalisé sous la forme d'un objet, enregistrement, struct, dictionnaire, table de hachage, liste à clé ou tableau associatif.
- Une liste ordonnée de valeurs. Dans la plupart des langues, cela est réalisé sous forme de
tableau, de vecteur, de liste ou de séquence.
Il décrit ensuite les deux structures comme suit:
Notez que les caractères de début et de fin sont respectivement des accolades et des crochets.
Modifier
Et à partir d'ici: http://www.ietf.org/rfc/rfc4627.txt
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 un objet ou un tableau sérialisé.
Mise à jour (2014)
Depuis mars 2014, il existe une nouvelle RFC JSON ( 7159 ) modifie légèrement la définition (voir pages 4/5).
La définition selon RFC 4627 était: JSON-text = object / array
Cela a été changé dans la RFC 7159 en: JSON-text = ws value ws
Où ws
représente un espace et value
est défini comme suit:
Une valeur JSON DOIT être un objet, un tableau, un nombre ou une chaîne, ou l'un des trois noms littéraux suivants:
false null true
Donc, la réponse à la question est toujours oui, le texte JSON peut commencer par un crochet (c'est-à-dire un tableau). Mais en plus des objets et des tableaux, il peut maintenant aussi s'agir d'un nombre, d'une chaîne ou des valeurs false
, null
ou true
.
En outre, cela a changé par rapport à ma précédente citation RFC 4627 (emphase ajoutée):
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 précédentes de JSON contraignaient un texte JSON à être un objet ou un tableau. Les implémentations qui génèrent uniquement des objets ou des tableaux pour lesquels un texte JSON est appelé seront interopérables dans le sens où toutes les implémentations les accepteront comme des textes JSON conformes.
[]
, à l'analyser comme un tableau et à prendre le premier élément du tableau.)