Avant JSON, XML dominait les échanges de données structurées sur le web, avec sa syntaxe verbeuse à base de balises ouvrantes et fermantes. JSON a largement pris le relais grâce à sa légèreté : des accolades pour les objets, des crochets pour les listes, des paires « clé »: valeur, une syntaxe directement inspirée des objets JavaScript mais devenue indépendante de tout langage.
JSON dans l’écosystème WordPress
L’API REST de WordPress répond en JSON par défaut : chaque article, utilisateur ou média récupéré via /wp-json/ arrive sous cette forme. Côté PHP, on convertit un tableau en JSON avec wp_json_encode() (une enveloppe de la fonction native json_encode() qui gère mieux l’encodage des caractères), et l’inverse avec json_decode(). Le fichier theme.json, introduit avec l’éditeur de blocs, configure lui aussi en JSON les couleurs, tailles et styles disponibles dans un thème.
Exemple
{
"id": 42,
"title": { "rendered": "Bonjour le monde" },
"categories": [3, 7]
}
Bon à savoir
- JSON n’accepte pas les commentaires ni les virgules finales après le dernier élément d’une liste : une erreur de syntaxe fréquente pour qui vient du JavaScript ou du PHP.
- Les clés doivent obligatoirement être entre guillemets doubles, contrairement à certains objets JavaScript où les guillemets sont optionnels.
- Un JSON mal formé dans
theme.jsonne provoque pas toujours une erreur visible : l’éditeur de blocs peut simplement ignorer silencieusement la configuration fautive. - Un nombre trop grand ou une valeur décimale imprécise peut perdre en précision au passage par JSON selon le langage qui le relit : un montant financier gagne à être transmis sous forme de chaîne plutôt que de nombre brut.