Aller au contenu
Case Converter Online
fr

JSON stringify : échapper un texte en chaîne JSON

Collez n'importe quel texte ou JSON et récupérez-le sous forme d'une seule chaîne JSON échappée, prête à placer dans un autre document JSON, une valeur de configuration ou une ligne de code.

Collez du texte ou du JSON, ou appuyez sur Exemple. Tout se passe dans votre navigateur.

Ce que fait cet outil

Une chaîne JSON est un texte entre guillemets doubles où certains caractères s’écrivent avec une barre oblique inverse : un guillemet double devient \", une barre oblique inverse devient \\, un saut de ligne devient \n et une tabulation \t. Cet outil prend votre texte et l’écrit sous cette forme. C’est exactement ce que fait JSON.stringify en JavaScript quand on lui donne une chaîne.

Vous en avez besoin quand un document JSON doit en transporter un autre, ou n’importe quel texte avec guillemets et sauts de ligne, dans un seul champ. Écrire les échappements à la main est lent et source d’erreurs. Une seule barre oblique oubliée rend toute la charge invalide.

Mode d’emploi

  1. Collez un texte ou du JSON dans la zone de gauche, appuyez sur Ouvrir un fichier ou sur Exemple.
  2. La chaîne échappée apparaît à droite pendant la frappe.
  3. Choisissez les options utiles :
    • Compacter le JSON d’abord retire la mise en forme d’un JSON valide avant de l’échapper. Activé par défaut.
    • Entourer de guillemets ajoute les guillemets doubles extérieurs. Désactivez-le si vous collez à un endroit qui a déjà des guillemets.
    • Échapper le non-ASCII en \u écrit les lettres accentuées, les symboles et les autres caractères non ASCII sous forme de codes \u.
  4. Appuyez sur Copier, ou sur Télécharger pour enregistrer le résultat en fichier texte.

La ligne sous les zones indique si la saisie était un JSON valide et combien de caractères compte le résultat.

Exemples

Un texte avec un guillemet et un saut de ligne :

He said "hello"
then left.

devient :

"He said \"hello\"\nthen left."

Avec un texte français, les guillemets « » n’ont pas besoin d’être échappés, puisque seul le guillemet droit " délimite une chaîne JSON. « Il a dit « bonjour » » suivi d’un saut de ligne et de « Puis il est parti. » devient :

"Il a dit « bonjour »\nPuis il est parti."

Un JSON formaté avec Compacter le JSON d’abord activé :

{
  "name": "Ada",
  "tags": ["admin", "dev"]
}

devient :

"{\"name\":\"Ada\",\"tags\":[\"admin\",\"dev\"]}"

Avec Compacter le JSON d’abord désactivé, l’indentation est gardée et échappée, donc { suivi d’un saut de ligne et de "name": "Ada" devient :

"{\n  \"name\": \"Ada\"\n}"

Un chemin Windows, où chaque barre oblique inverse est doublée :

"C:\\Users\\Ada\\notes.txt"

Les caractères non ASCII

Le JSON accepte n’importe quel caractère Unicode dans une chaîne, donc Café 東京 est valide tel quel :

"Café 東京"

Certains systèmes anciens, terminaux ou champs limités en octets n’acceptent que l’ASCII. Avec Échapper le non-ASCII en \u activé, le même texte devient :

"Caf\u00e9 \u6771\u4eac"

En français, chaque lettre accentuée devient ainsi un code : é donne \u00e9, è \u00e8, à \u00e0 et ç \u00e7. Les caractères situés hors du plan multilingue de base, comme la plupart des emoji, s’écrivent avec deux codes (une paire de substitution). Un visage souriant devient "\ud83d\ude00". Tout analyseur JSON retransforme ces codes en caractères d’origine.

Sans les guillemets extérieurs

Désactivez Entourer de guillemets quand la chaîne va dans un template, un champ de formulaire ou une paire de guillemets existante. Le texte Tab suivi d’une tabulation et de here donne alors :

Tab\there

Comment ça marche

L’outil utilise le JSON.stringify du navigateur, donc l’échappement suit exactement la norme JSON. Avant cela, si Compacter le JSON d’abord est activé et que la saisie commence par { ou [, il essaie de la lire comme du JSON. Si cela fonctionne, le JSON est réécrit sans espaces, en gardant les nombres exactement comme vous les avez écrits. Puis tout le texte est échappé en une seule chaîne. Rien n’est envoyé à un serveur.

Conseils et limites

  • Le résultat est une chaîne JSON, pas un littéral de template JavaScript ni une chaîne de shell. Les shells et certains langages demandent leurs propres guillemets en plus.
  • Si vous repassez le résultat dans l’outil, vous obtenez une chaîne doublement échappée. C’est parfois ce qu’attend une API, mais c’est en général le signe d’un bug.
  • Les très grandes saisies ne posent pas de problème. Le travail se fait localement et la vitesse dépend de votre appareil.

Autres méthodes

JavaScript. JSON.stringify(text) renvoie la chaîne échappée. Pour intégrer un objet, utilisez JSON.stringify(JSON.stringify(obj)).

Python. json.dumps(text) fait de même pour une chaîne. Passez ensure_ascii=False pour garder les caractères non ASCII tels quels, car par défaut ils sont échappés, accents français compris.

jq. jq -Rs . file.txt lit tout un fichier en texte brut et l’affiche sous forme d’une seule chaîne JSON.

Outils associés

Pour retransformer une chaîne échappée en texte ou en JSON lisible, utilisez JSON unstringify. Pour vérifier ou indenter d’abord le JSON, utilisez le formateur JSON. Pour construire du JSON à partir d’un tableur, utilisez le convertisseur CSV en JSON.

JSON stringify : questions fréquentes

Que signifie JSON stringify ?

Cela veut dire écrire une valeur sous forme de texte JSON. Pour un texte, on obtient une chaîne JSON : le texte entouré de guillemets doubles, avec les guillemets, barres obliques inverses, sauts de ligne et tabulations échappés pour que le résultat soit du JSON valide.

Pourquoi mettre du JSON dans une chaîne JSON ?

Certains systèmes stockent ou envoient tout un document JSON dans un seul champ texte. C'est le cas des files de messages, des charges utiles de webhooks, des lignes de journal, des variables d'environnement et de certaines colonnes de base de données. Le JSON intérieur doit être échappé pour y tenir.

Que fait Compacter le JSON d'abord ?

Si votre saisie est un JSON valide, ses espaces et sauts de ligne sont retirés avant l'échappement. Le résultat est plus court et ne contient pas d'échappements \n issus de la mise en forme. Si la saisie n'est pas un JSON valide, le texte est échappé exactement tel que tapé.

Comment faire l'opération inverse ?

Utilisez l'outil JSON unstringify. Il prend une chaîne échappée, avec ou sans les guillemets extérieurs, et rend le texte ou le JSON d'origine.

Plus d'outils code et données

Voir tous les outils