Échappement/Déséchappement JSON
Échappez ou déséchappez les chaînes JSON pour gérer les caractères spéciaux
Entrée
JSON échappé
Qu'est-ce que l'échappement JSON ?
Les chaînes JSON ne peuvent contenir qu'un ensemble précis de caractères. Dès que vous voulez y insérer un guillemet, un retour à la ligne ou un antislash littéral, il faut l'échapper — sinon l'analyseur casse. L'outil d'échappement JSON effectue cette conversion dans les deux sens : transformer un texte brut lisible par un humain en une chaîne sûre pour JSON, ou récupérer le texte d'origine à partir d'une chaîne déjà échappée.
Les séquences d'échappement sont définies dans RFC 8259 §7 : \" pour les guillemets, \\ pour les antislashs, \n pour les retours à la ligne, \t pour les tabulations, \uXXXX pour les points de code Unicode arbitraires, et quelques autres. Ce sont les mêmes séquences que produit JSON.stringify — cet outil expose simplement la conversion sans console JavaScript. Pour une introduction complète à la syntaxe JSON, consultez la spécification officielle JSON.
Comment utiliser l'échappement JSON
- Choisissez le sens – Cliquez sur le bouton Escape/Unescape pour basculer entre la conversion texte brut → chaîne sûre pour JSON, ou l'inverse.
- Collez votre texte – Déposez votre texte dans l'éditeur de gauche. Une seule ligne, un bloc multi-lignes ou un texte déjà partiellement échappé — l'outil s'en sort tout seul.
- Lisez le résultat – L'éditeur de droite affiche le résultat converti instantanément. Les caractères spéciaux sont remplacés par leurs séquences d'échappement (ou inversement).
- Copiez le résultat – Utilisez le bouton Copy pour mettre la chaîne convertie dans votre presse-papiers, prête à être collée dans un fichier JSON, un corps de requête API ou une colonne de base de données.
- Chargez un exemple – Cliquez sur « Sample » pour charger un exemple avec les séquences d'échappement les plus courantes et voir la transformation en un coup d'œil.
Astuce : Si vous devez intégrer un objet JSON dans une autre chaîne JSON (par exemple pour logger un payload dans une ligne de log au format JSON), échappez le JSON intérieur une seule fois avec cet outil — c'est suffisant. Inutile de l'échapper deux fois.
Exemple
Un modèle de SMS avec des guillemets et un retour à la ligne — à gauche le texte brut que vous enverriez à un logger, à droite le même texte correctement échappé pour tenir dans une chaîne JSON.
Hi Ingrid, your "Unlimited 5G" plan renews on 2026-07-01. Reply STOP to opt out. Path: C:\Users\msg.txt
"Hi Ingrid,\nyour \"Unlimited 5G\" plan\nrenews on 2026-07-01.\nReply STOP to opt out.\nPath: C:\\Users\\msg.txt"Cas d'usage courants
Intégrer du JSON dans du JSON
Les frameworks de logging attendent souvent que chaque entrée soit un seul objet JSON — et l'un des champs contient, à votre grand désespoir, un payload JSON venu d'ailleurs. Échappez d'abord le JSON interne pour que l'objet externe reste valide. Sans échappement, chaque " du payload fermerait la chaîne externe et toute la ligne deviendrait impossible à analyser.
Construire des corps de requête API à la main
Quand vous montez une requête curl ou un fixture de test et que le corps contient du texte libre (un modèle de SMS, une note client, un extrait HTML), échappez ce texte avant de le placer dans le corps JSON. Guillemets, retours à la ligne et antislashs nécessitent tous un traitement — le guide MDN sur JSON contient le tableau complet.
Lire des chaînes échappées depuis des logs
Le sens inverse est tout aussi courant : vous avez extrait une entrée d'un système de logs centralisé et le payload est doublement encodé, plein de \" et de \n. Désappez-le une fois pour récupérer l'original lisible, puis passez-le dans un formateur JSON si vous voulez en inspecter la structure.
Fonctionnalités clés
- Bidirectionnel – Échappez et désappez avec un seul bouton, pas besoin d'un second outil.
- Conforme RFC 8259 – Gère toutes les séquences d'échappement définies dans la spécification JSON, y compris les littéraux Unicode
\uXXXX. - Support multi-lignes – Collez des blocs de texte avec retours à la ligne et tabulations ; ils sont convertis correctement sans fragmenter votre saisie.
- Idempotent sur du texte brut – Échapper une chaîne déjà propre ne change rien. Utilisable en toute sécurité même quand vous ne savez pas si l'entrée en a besoin.
- Traitement uniquement côté navigateur – Rien n'est téléversé ; vos chaînes restent sur votre appareil.
Foire aux questions
Quels caractères nécessitent réellement un échappement en JSON ?
Six caractères : guillemet double, antislash, et quatre caractères de contrôle — retour arrière, saut de page, retour à la ligne, retour chariot et tabulation (soit cinq en réalité). En plus, tout point de code inférieur à U+0020 doit être échappé en notation \u. Tout le reste peut apparaître littéralement, y compris les lettres Unicode et les emoji. La liste de référence se trouve dans RFC 8259 §7.
Quelle est la différence entre l'échappement et JSON.stringify ?
JSON.stringify sérialise toute une valeur JavaScript (objet, tableau, nombre, chaîne) en document JSON — il enveloppe les chaînes de guillemets et applique l'échappement. Cet outil effectue uniquement l'étape d'échappement sur une chaîne brute, sans guillemets autour. Utilisez stringify quand vous avez un objet ; utilisez cet outil quand vous avez une chaîne destinée à vivre dans un document JSON.
Puis-je échapper des caractères non-ASCII comme des emoji ou des lettres accentuées ?
Oui. Par défaut, JSON autorise tout caractère UTF-8 dans une chaîne, donc un emoji ou une lettre accentuée passe tel quel. Si vous avez besoin d'une sortie 100 % ASCII (pour la compatibilité avec d'anciens systèmes), activez l'échappement \u — chaque point de code non-ASCII devient \uXXXX. Pour le contexte sur Unicode et JSON, voir la référence MDN sur stringify.
Ma chaîne échappée ne s'analyse toujours pas. Quel est le problème ?
En général, l'une de ces trois causes : un guillemet non apparié (vous avez échappé l'ouvrant mais pas le fermant), un retour à la ligne resté non échappé, ou un antislash devant un caractère qui n'est pas une séquence d'échappement valide (par ex. \x). Passez la chaîne suspecte dans un Validateur JSON pour voir précisément où l'analyse échoue. Le tag JSON de Stack Overflow contient des milliers de cas résolus pour les plus subtils.
Mes données sont-elles en sécurité ?
Oui. Les conversions d'échappement et de désappement se font entièrement dans votre navigateur. Rien n'est envoyé sur le réseau, rien n'est mis en cache, rien n'est journalisé.
Outils associés
- Formateur JSON – Mettez en forme le résultat désappé pour le lire confortablement.
- Validateur JSON – Vérifiez que la sortie échappée est du JSON valide.
- Minifieur JSON – Supprimez les espaces avant l'échappement pour obtenir le littéral le plus compact possible.
- JSON vers Tableau – Affichez le JSON désappé sous forme de tableau pour le parcourir rapidement.
Ressources utiles
- RFC 8259 §7 — Strings – Liste de référence de toutes les séquences d'échappement JSON.
- JSON.org – Spécification originale de JSON avec les diagrammes de la grammaire des chaînes.
- MDN — JSON.stringify – Comment le sérialiseur intégré de JavaScript gère l'échappement, avec exemples.
- W3Schools — Syntaxe JSON – Présentation accessible des règles de syntaxe JSON.
- Stack Overflow — tag JSON – Cas résolus pour les problèmes d'échappement et d'analyse délicats.