← Tous les articles

Exemples de format JSON : objets, tableaux et patterns du monde réel

Exemples JSON prêts à copier-coller couvrant chaque type de données, structures imbriquées, réponses d'API REST, fichiers de configuration, formats de date et GeoJSON — avec des patterns d'erreurs courants et leurs corrections.

La meilleure façon de comprendre JSON est de lire des exemples. Ce guide parcourt le format JSON depuis la base —— objets simples, structures imbriquées, tableaux, types mixtes —— puis montre des patterns JSON réels que vous croiserez dans des APIs, des fichiers de config et des bases de données. Chaque exemple est un JSON valide et copiable-collable.

Utilisez-les comme fichier json d’exemple pour des tests, des fixtures ou de la documentation —— chaque snippet ci-dessous est un véritable exemple json que vous pouvez sauvegarder avec une extension .json et charger directement.

L’exemple JSON le plus simple

Toute valeur JSON valide est un document JSON complet. Les documents JSON les plus simples sont des primitives :

"hello"        // une chaîne
42             // un nombre
true           // un booléen
null           // null

En pratique, presque tout document JSON que vous rencontrez est soit un objet soit un tableau.

Exemple d’objet JSON

Un objet JSON est une collection de paires clé–valeur. Les clés doivent être des chaînes entre guillemets doubles. Les valeurs peuvent être de n’importe quel type JSON.

{
  "id": 42,
  "name": "Alice Chen",
  "email": "alice@example.com",
  "age": 30,
  "active": true,
  "score": 98.6,
  "nickname": null
}

Note : l’ordre des clés dans les objets JSON n’est pas garanti —— les parsers peuvent les retourner dans n’importe quel ordre.

Exemple de tableau JSON

Un tableau JSON est une liste ordonnée de valeurs. Les éléments peuvent être de types différents et l’ordre est toujours préservé.

// Tableau de chaînes
["apple", "banana", "cherry"]

// Tableau de nombres
[1, 2, 3, 4, 5]

// Types mixtes
[42, "hello", true, null, { "key": "value" }]

// Tableau d’objets (courant dans les réponses d’API)
[
  { "id": 1, "name": "Alice" },
  { "id": 2, "name": "Bob" },
  { "id": 3, "name": "Carol" }
]

Exemple de JSON imbriqué

Les objets et tableaux peuvent être imbriqués à n’importe quelle profondeur. C’est de là que vient l’expressivité de JSON.

{
  "user": {
    "id": 1001,
    "name": "Alice Chen",
    "address": {
      "street": "123 Main St",
      "city": "San Francisco",
      "state": "CA",
      "zip": "94102"
    },
    "tags": ["premium", "early-adopter"],
    "preferences": {
      "notifications": {
        "email": true,
        "sms": false,
        "push": true
      },
      "theme": "dark"
    }
  }
}

Exemple de format JSON : réponse d’API REST

Une réponse paginée typique d’une API ressemble à ceci :

{
  "status": "success",
  "data": {
    "page": 1,
    "per_page": 10,
    "total": 47,
    "total_pages": 5,
    "items": [
      {
        "id": "prod_001",
        "name": "Wireless Headphones",
        "price": 89.99,
        "currency": "USD",
        "in_stock": true,
        "categories": ["electronics", "audio"],
        "rating": 4.7,
        "reviews_count": 2341
      },
      {
        "id": "prod_002",
        "name": "USB-C Hub",
        "price": 39.99,
        "currency": "USD",
        "in_stock": false,
        "categories": ["electronics", "accessories"],
        "rating": 4.2,
        "reviews_count": 891
      }
    ]
  },
  "meta": {
    "request_id": "req_8f3a2c",
    "timestamp": "2024-10-15T14:32:00Z"
  }
}

Exemple de fichier de configuration JSON

Les fichiers de configuration en JSON sont courants dans l’outillage JavaScript. Voici une structure typique de package.json :

{
  "name": "my-app",
  "version": "1.0.0",
  "description": "A sample application",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "test": "jest",
    "build": "tsc"
  },
  "dependencies": {
    "express": "^4.18.2",
    "lodash": "^4.17.21"
  },
  "devDependencies": {
    "typescript": "^5.0.0",
    "jest": "^29.0.0"
  },
  "engines": {
    "node": ">=18.0.0"
  }
}

Format de données JSON : date et heure

JSON n’a pas de type date natif. Les dates sont représentées en chaînes. ISO 8601 est le format universellement accepté :

{
  "created_at": "2024-10-15T14:32:00Z",        // datetime UTC
  "updated_at": "2024-10-15T14:32:00+08:00",   // avec décalage de fuseau
  "birth_date": "1990-06-21",                   // date seule
  "meeting_time": "09:00:00"                    // heure seule
}

Sinon, certains systèmes utilisent des timestamps Unix (secondes depuis l’époque) en nombres :

{
  "created_at": 1728999120,
  "expires_at": 1761057600
}

JSON avec champs optionnels et nuls

Utilisez null pour les champs qui existent mais n’ont pas de valeur. Omettez totalement les champs optionnels et absents.

{
  "id": 5,
  "name": "Bob",
  "email": "bob@example.com",
  "phone": null,            // existe mais non renseigné
  "company": "Acme Corp",
  "title": null             // existe mais non renseigné
  // "fax" est totalement omis —— non applicable
}

Exemples d’erreurs JSON (et comment les corriger)

Voici les erreurs courantes de mise en forme JSON :

// ❌ guillemets simples (pas du JSON valide)
{ 'name': 'Alice' }

// ✅ Correction : utilisez des guillemets doubles
{ "name": "Alice" }

// ❌ Clé sans guillemets
{ name: "Alice" }

// ✅ Correction : entourez la clé de guillemets
{ "name": "Alice" }

// ❌ Virgule finale
{ "a": 1, "b": 2, }

// ✅ Correction : retirez la virgule finale
{ "a": 1, "b": 2 }

// ❌ Commentaire JavaScript
{ "debug": true // active le logging }

// ✅ Correction : retirez le commentaire
{ "debug": true }

// ❌ Booléen style Python
{ "active": True }

// ✅ Correction : minuscule
{ "active": true }

Si votre chaîne JSON contient l’une de ces erreurs, collez-la dans JSON Fix pour la réparer et la formater automatiquement.

Exemple JSON Lines (NDJSON, jsonlines)

Pour les logs en streaming, les datasets ML et les APIs en bulk, la convention est une valeur JSON par ligne séparée par \n. Le format porte deux noms —— jsonlines (de jsonlines.org) et NDJSON —— mais la spec est la même :

{"event":"login","user":"ada","at":"2026-05-28T09:00:00Z"}
{"event":"view","user":"ada","page":"/dashboard"}
{"event":"logout","user":"ada","at":"2026-05-28T09:42:00Z"}

Chaque ligne se parse indépendamment. Ne faites pas JSON.parse() sur le fichier entier —— splittez sur le saut de ligne et parsez ligne par ligne.

Exemple de réponse OpenAPI

Une spec OpenAPI définit les réponses avec une forme façon JSON Schema :

{
  "openapi": "3.1.0",
  "paths": {
    "/users/{id}": {
      "get": {
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": ["id", "email"],
                  "properties": {
                    "id":    { "type": "integer" },
                    "email": { "type": "string", "format": "email" }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Exemples date-seule et heure-seule

ISO 8601 définit aussi des formes de date pure et d’heure pure —— utiles quand l’heure de la journée ou la date n’a vraiment pas de sens :

{
  "birth_date":   "1815-12-10",         // date seule
  "office_hours": "09:00:00",           // heure seule
  "started_at":   "2026-05-28T09:00:00Z" // datetime complet, pour contraste
}

Exemple GeoJSON

GeoJSON est un format standard pour données géographiques basé sur JSON :

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [-122.4194, 37.7749]
  },
  "properties": {
    "name": "San Francisco",
    "country": "US",
    "population": 873965
  }
}

Questions fréquentes

Quel est un exemple de JSON valide ?

Le plus simple est une seule primitive comme 42 ou "hello", mais la plupart des JSON réels sont des objets tels que { "name": "Alice", "age": 30, "active": true } ou des tableaux de tels objets.

Comment représente-t-on les dates en JSON ?

JSON n’a pas de type date. Les dates sont stockées en chaînes —— ISO 8601 ("2024-10-15T14:32:00Z") est le choix universel —— ou en timestamps Unix numériques.

Comment représenter une valeur manquante en JSON ?

Utilisez null pour un champ qui existe mais n’a pas de valeur, et omettez la clé entièrement pour les champs qui ne s’appliquent pas. JSON n’a pas undefined.

À quoi ressemble du JSON imbriqué ?

Les objets et tableaux peuvent contenir d’autres objets et tableaux à n’importe quelle profondeur —— voyez les exemples imbriqué et REST API ci-dessus. Pour les règles sous-jacentes, voir Qu’est-ce que JSON ?

Essayez ces exemples

Copiez n’importe quel exemple ci-dessus et collez-le dans les outils ci-dessous pour explorer les données :

  • JSON Fix —— formater, valider et réparer du JSON
  • JSON Diff —— comparer deux exemples JSON côte à côte
  • Qu’est-ce que JSON ? —— guide complet des six types de données et de la grammaire JSON
  • Comment formater du JSON —— pretty-print du JSON en JavaScript, Python, jq et votre navigateur
  • JSON Stringify —— convertir une valeur JSON en littéral de chaîne échappée