Comment échapper une chaîne en JSON
- Choisissez le mode : Échapper, Déséchapper, JSON en chaîne (stringify) ou Chaîne en JSON (parse).
- Saisissez ou collez le texte : le résultat s'affiche immédiatement. Pour l'échappement, choisissez d'ajouter ou non les guillemets englobants et d'écrire ou non les caractères non ASCII sous la forme
\uXXXX. - Copiez le résultat, ou cliquez sur Inverser pour effectuer l'opération inverse et vérifier l'aller-retour.
Séquences d'échappement JSON
| Caractère | Échappé |
|---|---|
Guillemet double " | \" |
Barre oblique inverse \ | \\ |
| Saut de ligne (line feed) | \n |
| Retour chariot | \r |
| Tabulation | \t |
| Retour arrière, saut de page | \b, \f |
| Autres caractères de contrôle U+0000–U+001F | \u0000 … \u001f |
| N'importe quel caractère (facultatif) | \uXXXX, par ex. é → \u00e9, 😀 → \ud83d\ude00 |
Barre oblique / (facultatif) | \/ |
Les apostrophes (guillemets simples) n'ont jamais besoin d'être échappées en JSON, car les chaînes JSON utilisent toujours des guillemets doubles.
JSON stringifié : du JSON dans une chaîne
Un JSON stringifié est un document JSON stocké dans une chaîne JSON : par exemple un champ d'API comme "payload": "{\"id\":7}", ou du JSON enregistré dans une colonne de base de données, une variable d'environnement ou une ligne de log. JSON en chaîne (stringify) crée une telle chaîne à partir d'un document ; Chaîne en JSON (parse) la décode, même si elle a été stringifiée deux fois, puis formate le résultat.
- JavaScript :
JSON.stringify(text)échappe,JSON.parse(literal)déséchappe. - Python :
json.dumps(text)etjson.loads(literal). - PHP :
json_encode($text)etjson_decode($literal).
Questions fréquentes
Quels caractères faut-il échapper en JSON ?
Seulement le guillemet double, la barre oblique inverse et les caractères de contrôle U+0000 à U+001F, comme les sauts de ligne et les tabulations. Tout le reste, y compris é, 中 et les emoji, peut apparaître tel quel dans un JSON encodé en UTF-8.
Pourquoi vois-je \u00e9 au lieu de é ?
Certains programmes écrivent chaque caractère non ASCII sous forme d'échappement \uXXXX. Les deux formes sont équivalentes ; le mode Déséchapper retransforme ces séquences en texte lisible.
Quelle différence entre échapper et stringifier ?
L'échappement transforme n'importe quel texte en littéral de chaîne JSON. La stringification vérifie d'abord que l'entrée est un JSON valide, la minifie, puis l'échappe : le résultat est une chaîne qui contient un document JSON.
Peut-on déséchapper une chaîne sans ses guillemets extérieurs ?
Oui. Collez le contenu avec ou sans les guillemets englobants ; les guillemets isolés non échappés et les vrais sauts de ligne sont également tolérés.