JSON
JSON (JavaScript Object Notation)
Un format d'échange de données léger, basé sur le texte, qui utilise des paires clé-valeur lisibles par l'humain et des tableaux ordonnés pour structurer l'information, devenu le standard de facto pour les APIs Web et les fichiers de configuration.
Détail technique
JSON (RFC 8259) prend en charge six types de données : string (Unicode entre guillemets doubles), number (entier ou virgule flottante, pas de NaN/Infinity), boolean (true/false), null, object (paires clé-valeur non ordonnées entre accolades) et array (liste ordonnée entre crochets). Les clés doivent être des chaînes. Il n'y a pas de commentaires, dates, undefined ou virgules finales dans le JSON strict. JSONC (JSON avec commentaires) et JSON5 (guillemets simples, clés non quotées, virgules finales) sont des surensembles. Le parsing est vulnérable à la pollution de prototype (JavaScript) et aux bombes de profondeur (récursion), il est donc recommandé d'utiliser des parseurs sûrs et de limiter la profondeur.
Exemple
```javascript
// JSON parse with reviver function
const data = JSON.parse(text, (key, val) => {
if (key === 'date') return new Date(val);
return val;
});
// JSON stringify with replacer and indentation
JSON.stringify(data, ['name', 'email'], 2);
```