📋
← Retour aux guides

Qu'est-ce que JSON ? Guide complet pour les débutants

· Tags: json, what-is-json, json-syntax, json-data-types, web-development

Qu'est-ce que JSON ?

JSON (JavaScript Object Notation) est un format d'Ă©change de donnĂ©es lĂ©ger et basĂ© sur le texte, conçu pour ĂȘtre facile Ă  lire et Ă  Ă©crire pour les humains, et facile Ă  analyser et Ă  gĂ©nĂ©rer pour les machines. Il a Ă©tĂ© initialement dĂ©rivĂ© de la syntaxe des littĂ©raux d'objets JavaScript, mais est depuis devenu un standard indĂ©pendant du langage, pris en charge par pratiquement tous les langages de programmation.

Aujourd'hui, JSON est le format dominant pour l'échange de données sur le web. Il alimente les API REST, les fichiers de configuration, les bases de données NoSQL, la communication des applications mobiles et d'innombrables autres systÚmes pilotés par les données. Sa simplicité et son omniprésence en ont fait le choix par défaut des développeurs du monde entier.

RĂšgles de syntaxe JSON

JSON suit un ensemble strict et minimal de rĂšgles de syntaxe :

  • Les donnĂ©es sont structurĂ©es en paires clĂ©/valeur
  • Toutes les clĂ©s doivent ĂȘtre des chaĂźnes entre guillemets doubles (les guillemets simples ne sont pas autorisĂ©s)
  • Les paires clĂ©/valeur sont sĂ©parĂ©es par deux-points (:)
  • Les paires sont sĂ©parĂ©es par des virgules (,)
  • Les accolades {} dĂ©limitent les objets
  • Les crochets [] dĂ©limitent les tableaux
  • Aucune virgule de fin n'est autorisĂ©e
  • Aucun commentaire n'est autorisĂ© en JSON strict

Exemple de JSON valide

{
  "name": "Jane Smith",
  "age": 28,
  "isEmployed": true,
  "skills": ["JavaScript", "Python", "SQL"],
  "address": {
    "street": "123 Main Street",
    "city": "San Francisco",
    "zipCode": "94102"
  },
  "phoneNumbers": null
}

Exemples de JSON invalide

Virgule de fin (invalide) :

{
  "name": "Jane",
  "age": 28,
}

Clé entre guillemets simples (invalide) :

{ 'name': 'Jane' }

Clé sans guillemets (invalide) :

{ name: "Jane" }

Types de données JSON

JSON prend en charge exactement six types de données :

| Type | Description | Exemple | |------|-------------|---------| | Chaßne | Texte Unicode entre guillemets doubles | "Hello, world!" | | Nombre | Entier ou nombre à virgule flottante | 42, 3.14, -7, 1.5e10 | | Booléen | Vrai ou faux logique | true, false | | Null | Valeur vide intentionnelle | null | | Objet | Collection non ordonnée de paires clé/valeur | {"key": "value"} | | Tableau | Liste ordonnée de valeurs | [1, 2, 3] |

Absents de maniÚre notable : les dates, les horodatages, les données binaires, undefined et les fonctions n'ont pas de représentation JSON native. Les dates sont généralement stockées sous forme de chaßnes ISO 8601 par convention.

JSON contre d'autres formats de données

JSON cÎtoie plusieurs autres formats d'échange de données, chacun avec des compromis :

  • JSON contre XML : JSON est plus concis et plus rapide Ă  analyser. XML prend en charge les attributs, les espaces de noms et les schĂ©mas (XSD), mais est nettement plus verbeux.
  • JSON contre YAML : YAML est plus lisible pour les humains dans le cas des fichiers de configuration et prend en charge les commentaires, mais sa syntaxe sensible Ă  l'indentation peut ĂȘtre sujette aux erreurs. JSON est plus portable et dispose d'une validation plus stricte.
  • JSON contre CSV : CSV est plat et uniquement tabulaire. JSON prend en charge les hiĂ©rarchies imbriquĂ©es et les types de donnĂ©es mixtes.
  • JSON contre Protocol Buffers : Protobuf est plus petit et plus rapide pour la communication machine Ă  machine, mais nĂ©cessite une dĂ©finition de schĂ©ma et n'est pas lisible par les humains.

Pourquoi JSON domine les API web

Plusieurs facteurs expliquent la domination de JSON dans la conception des API web :

  1. Omniprésence dans les langages -- Chaque langage majeur dispose d'un analyseur JSON natif ou bien maintenu, éliminant les frictions d'intégration.
  2. Prise en charge native des navigateurs -- JSON.parse() et JSON.stringify() de JavaScript font de JSON le choix naturel pour les applications web.
  3. Bande passante minimale -- La syntaxe légÚre de JSON produit des charges utiles plus petites que XML, réduisant la latence et les coûts de bande passante.
  4. Lisibilité humaine -- Les développeurs peuvent inspecter, déboguer et écrire manuellement des données JSON sans outils spéciaux.
  5. Schéma flexible -- Contrairement aux formats rigides comme XML Schema ou Protocol Buffers, JSON s'adapte aux structures de données en évolution sans recompilation.

Cas d'utilisation courants de JSON

  • API REST et GraphQL -- Le format standard pour les charges utiles de requĂȘtes et de rĂ©ponses.
  • Fichiers de configuration -- UtilisĂ© par des outils comme ESLint, Prettier, webpack et VS Code.
  • Bases de donnĂ©es NoSQL -- MongoDB et CouchDB stockent les donnĂ©es sous forme de documents de type JSON.
  • SĂ©rialisation des donnĂ©es -- Structurer les donnĂ©es pour le stockage, le transfert ou la mise en cache.
  • Communication en temps rĂ©el -- Messages JSON dans les flux WebSocket et les Webhooks.
  • AgrĂ©gation de journaux -- Les outils de journalisation structurĂ©e comme Winston, Logstash et Datadog utilisent JSON pour des entrĂ©es de journal consultables et filtrables.

Validation et formatage JSON

Lorsqu'on travaille avec JSON, la validation est essentielle. Une seule erreur de syntaxe -- une virgule de fin, un guillemet manquant ou un caractÚre non échappé -- peut casser une intégration API entiÚre ou un fichier de configuration. L'inspection manuelle n'est pas fiable, en particulier pour les grands documents JSON.

Comment valider JSON

La validation suit généralement ces étapes :

  1. Analysez la chaßne JSON à l'aide d'un analyseur standard comme JSON.parse() en JavaScript ou son équivalent dans le langage de votre choix.
  2. Vérifiez les erreurs de syntaxe -- l'analyseur lÚvera une erreur à la premiÚre violation avec un message indiquant l'emplacement du problÚme.
  3. Corrigez les erreurs de maniĂšre itĂ©rative -- comme les analyseurs s'arrĂȘtent Ă  la premiĂšre erreur, corrigez-la et revalidez jusqu'Ă  ce que le document passe.

La plupart des outils JSON en ligne combinent la validation et le formatage. Collez votre JSON, et l'outil vérifie instantanément la syntaxe, met en évidence les erreurs avec les numéros de ligne et de colonne, et produit une sortie propre et indentée. C'est nettement plus rapide que de déboguer avec des exceptions d'analyseur dans votre code.

Conseils pour travailler avec JSON

  • Validez toujours avant d'utiliser -- Ne supposez jamais qu'un JSON Ă©crit Ă  la main est valide.
  • Utilisez un linter -- Des outils comme ESLint avec des plugins JSON dĂ©tectent les erreurs avant qu'elles n'atteignent la production.
  • PrivilĂ©giez les bibliothĂšques JSON -- GĂ©nĂ©rez du JSON avec des bibliothĂšques de sĂ©rialisation plutĂŽt qu'avec la concatĂ©nation de chaĂźnes pour Ă©viter des erreurs de syntaxe subtiles.
  • DĂ©finissez des en-tĂȘtes Content-Type stricts -- Pour les API, imposez Content-Type: application/json pour rejeter les requĂȘtes malformĂ©es dĂšs le dĂ©part.

Utilisez un validateur et formateur JSON en ligne gratuit pour vérifier instantanément la syntaxe de votre JSON, localiser les erreurs et formater vos données pour une meilleure lisibilité. Que vous soyez un débutant apprenant les bases ou un développeur expérimenté déboguant une API de production, notre outil Formateur et validateur JSON vous aide à travailler efficacement avec les données JSON.

Qu'est-ce que JSON ? Guide complet pour les débutants - CoolTool