JSON – JavaScript Object Notation

Format léger, textuel et standardisé pour représenter des données structurées, largement utilisé pour échanger des informations entre systèmes (serveur/client, API, microservices).

Le JSON n’est pas un langage de programmation, mais un format de données simple, lisible à la fois par les humains et les machines.

Il permet de décrire des objets (paires clé/valeur) et des tableaux de manière hiérarchique, sans dépendre d’un langage particulier — même s’il s’inspire de la syntaxe des objets JavaScript.

Le JSON, c’est comme une fiche technique universelle :

{"nom": "Dupont", "age": 35, "villes": ["Paris", "Lyon"]}
→ Tout logiciel, peu importe sa technologie (Python, PHP, Java, etc.), peut lire et comprendre cette structure.

Structure de base

Le JSON supporte :

  • Objets : { "clé": "valeur" }
  • Tableaux : [ "valeur1", "valeur2" ]
  • Types de données : chaînes ("texte"), nombres (42, 3.14), booléens (true/false), null
  • Imbrications : objets dans des tableaux, tableaux dans des objets, etc.

Exemple :

{

  « nom »: « Projet Wanimi »,

  « version »: « 1.2.0 »,

  « auteurs »: [« Stéphane », « Aksel »],

  « dépendances »: {

    « express »: « ^4.18 »,

    « lodash »: « ^4.17 »

  },

  « licence »: « MIT »

}

Règles strictes :

Pas de commentaires autorisés (contrairement à JavaScript).

Les clés doivent être entre guillemets doubles ("),

Pas de virgule finale dans les objets/tableaux,

Usages courants

ContexteUtilisation du JSON
API RESTFormat d’échange standard entre client et serveur
ConfigurationFichiers package.json, composer.json, tsconfig.json, etc.
Web sémantiqueDonnées structurées au format JSON-LD pour le SEO (ex. : schema.org)
Stockage légerRemplacement simple de bases de données (ex. : applications locales)
Logs et échangesFormat standardisé pour les événements (ex. : dans les pipelines data)

Manipulation en programmation

En JavaScript

const data = JSON.parse('{"nom":"Agnès"}'); // chaîne → objet
const texte = JSON.stringify(data);        // objet → chaîne

En Python : json.loads() / json.dumps()

En PHP : json_decode() / json_encode()

JSON vs XML vs YAML

FormatLisible ?Verbeux ?Support des types ?Cas d’usage
JSONOuiNonOui (limité)APIs, web, config
XMLMoyenTrèsOui (complexe)Anciens services, SOAP
YAMLTrèsNonOuiConfig (Docker, Kubernetes)
  • Le terme « JSON » est utilisé tel quel en français (prononcé « jay-son » ou « jzon »).
  • On parle de « format JSON », « fichier JSON », ou « données au format JSON ».
  • La traduction littérale « notation objet JavaScript » est rarement utilisée en pratique.

Lire facilement un fichier JSON Viewer Awesome