JSON—JavaScript Object Notation—est le format textuel omniprésent pour l'échange de données structurées. Il est normalisé à la fois par l'IETF sous la référence RFC 8259 et par Ecma International sous la référence ECMA-404, qui définissent ensemble la syntaxe compacte et indépendante du langage qui alimente les API, les journaux, les configurations et les bases de données modernes.
Une valeur JSON est soit un objet, un tableau, une chaîne de caractères, un nombre, ou l'un des littéraux true, false, ou null; les objets associent des chaînes de caractères à des valeurs et les tableaux contiennent des valeurs ordonnées — avec des espaces blancs insignifiants autorisés autour des caractères structurels (RFC 8259, ECMA-404). Bien que JSON soit originaire de JavaScript, il est indépendant du langage et pris en charge pratiquement partout (MDN : JSON). Sur le réseau, l'encodage de facto et recommandé est UTF-8 (RFC 8259 §8.1). Pour une sécurité d'interopérabilité supplémentaire, le profil I-JSON (RFC 7493) renforce les règles concernant les encodages et les plages numériques.
En JavaScript, l'objet global JSON expose deux piliers :JSON.parse (avec un reviver optionnel) et JSON.stringify (avec un remplaçant/espacement pour une impression jolie), comme documenté sur MDN (parse, stringify).
La grammaire des nombres de JSON est décimale, mais la spécification ne dicte pas la précision ou les distinctions entre entiers et flottants. Les implémentations choisissent comment les représenter (RFC 8259 §6). En JavaScript et Node.js, Number est en double précision IEEE-754, ce qui signifie que seuls les entiers dans [−(2^53−1), 2^53−1] sont exactement sûrs — voir Number.MAX_SAFE_INTEGER et le type BigInt. C'est pourquoi les API publiques envoient souvent les ID sous forme de chaînes de caractères et valident explicitement les « entiers sûrs ».
À mesure que l'utilisation a mûri, des normes ont émergé pour adresser et modifier JSON sur place. JSON Pointer (RFC 6901) est une syntaxe minuscule délimitée par des barres obliques pour localiser des valeurs (par ex., /a/b/0) avec des règles d'échappement pour ~ et /. JSON Patch (RFC 6902) modélise les mises à jour partielles comme des opérations ordonnées (add, remove, replace, move, copy, test) et transite en tant que application/json-patch+json. Pour des différences plus simples, JSON Merge Patch (RFC 7386) utilise une fusion en forme de document : les champs présents sont ajoutés/remplacés ; définir un champ à null le supprime. De nombreux frameworks prennent en charge l'une ou les deux formes nativement.
JSON lui-même est sans schéma, mais les écosystèmes s'appuient sur des schémas pour la validation, la documentation et la génération de code. La famille JSON Schema 2020-12 spécifie des contraintes like type, properties, items, et des mots-clés de composition, et s'aligne avec OpenAPI 3.1. Pour les flux de travail centrés sur la génération de code, JSON Type Definition (RFC 8927) offre un langage délibérément moins expressif qui se mappe de manière prévisible aux systèmes de types courants.
Le JSON classique attend un texte complet par charge utile, ce qui complique le streaming des journaux et les réponses de longue durée. Deux modèles aident :
application/json-seq.Lorsque la bande passante ou la vitesse domine, les formats « JSON binaire » préservent le modèle de données de JSON tout en échangeant la lisibilité humaine contre l'efficacité :
Parce que JSON n'est que du texte, la plupart des risques proviennent de la façon dont vous le transportez et le manipulez :
<script> avec un rappel) était une solution de contournement pré-CORS pour les requêtes inter-origines mais est dangereux — il exécute des scripts arbitraires. Préférez CORS avec de vraies réponses application/json (OWASP : Abus de JSONP).JSON a fait ses débuts sous RFC 4627 (2006); le type de média enregistré est application/json, dont la spécification pointe maintenant vers RFC 8259. Les paramètres « charset » sur les réponses JSON sont généralement inutiles car UTF-8 est la valeur par défaut sur l'Internet public.
Les développeurs veulent souvent des commentaires, des virgules finales ou des chaînes de caractères entre guillemets simples dans les configurations. C'est en dehors du JSON standard, mais JSON5 fournit un sur-ensemble bien documenté pour les fichiers édités par l'homme. Évitez d'envoyer JSON5 via des API publiques, sauf si vous contrôlez les deux extrémités.
Le succès de JSON vient d'une petite surface, d'un large soutien linguistique et d'un cercle de normes adjacentes — pointeurs, patchs, schémas, séquences — qui couvrent les réalités désordonnées des systèmes distribués. Comprenez les fondamentaux (syntaxe, encodage, nombres), appuyez-vous sur les bonnes normes adjacentes et il continuera à porter ses fruits sur toutes les piles et tous les services (RFC 8259, ECMA-404, RFC 6901, RFC 6902, RFC 7386, JSON Schema, JTD, RFC 7464, NDJSON).
JSON (JavaScript Object Notation) est un format d'échange de données léger qui est facile à lire et à écrire pour les humains et facile à analyser et à générer pour les machines. Il est largement utilisé pour transmettre des données dans les applications web.
Le formatage de JSON le rend lisible pour les humains en ajoutant l'indentation et les sauts de ligne appropriés. Ceci est particulièrement utile lors du travail avec des données JSON minifiées ou compressées, du débogage ou de l'examen des réponses API.
La validation JSON vérifie si votre chaîne JSON est conforme à la spécification JSON. Elle identifie les erreurs de syntaxe telles que les virgules manquantes, les crochets non fermés ou les guillemets incorrects, vous aidant à détecter les erreurs tôt.
La vue code affiche le JSON formaté sous forme de texte avec coloration syntaxique, similaire à son apparence dans un éditeur de code. La vue arborescente présente JSON comme une structure interactive et pliable où vous pouvez développer et réduire les objets et tableaux imbriqués.
Oui! Tout le formatage et la validation JSON se produisent entièrement dans votre navigateur. Vos données ne quittent jamais votre ordinateur, garantissant une confidentialité et une sécurité complètes.
Oui, vous pouvez télécharger un fichier JSON en utilisant le bouton 'Ouvrir un fichier'. L'outil lira le fichier et affichera immédiatement la sortie formatée.
Les erreurs JSON courantes incluent: virgules manquantes entre les paires clé-valeur, utilisation de guillemets simples au lieu de guillemets doubles pour les chaînes, virgules traînantes, crochets ou accolades non fermés et clés non entre guillemets.
Oui, utilisez le bouton 'Copier' pour copier le JSON formaté dans votre presse-papiers. Ceci est utile pour coller le JSON nettoyé dans votre code ou documentation.