Aller au contenu
Case Converter Online
fr

JSON unstringify : déséchapper une chaîne JSON

Collez une chaîne JSON échappée, pleine de barres obliques inverses, et retrouvez le texte ou le JSON d'origine, formaté et lisible.

Collez une chaîne JSON échappée, ou appuyez sur Exemple. Tout se passe dans votre navigateur.

Ce que veut dire « unstringify »

Quand du JSON est stocké dans une chaîne, chaque guillemet double y est écrit \", chaque saut de ligne \n et chaque barre oblique inverse \\. On le voit dans les fichiers journaux, les files de messages, les charges de webhooks, les outils de développement du navigateur et les colonnes de base de données qui contiennent du JSON sous forme de texte. C’est valide, mais difficile à lire :

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

Déséchapper (unstringify) inverse l’échappement et rend la valeur d’origine. Si cette valeur est du JSON, l’outil la formate aussi pour que vous puissiez la lire.

Mode d’emploi

  1. Collez la chaîne échappée dans la zone de gauche, appuyez sur Ouvrir un fichier ou sur Exemple.
  2. Le résultat apparaît à droite pendant la frappe.
  3. Réglez les options :
    • Déséchapper les chaînes imbriquées continue quand le résultat est lui-même une autre chaîne échappée. Activé par défaut.
    • Si le résultat est du JSON vous laisse choisir une indentation de 2 ou 4 espaces, ou Laisser tel quel.
  4. Appuyez sur Copier, ou sur Télécharger pour enregistrer le résultat en fichier texte.

La ligne sous les zones indique si le résultat est un JSON valide et combien de couches ont été déséchappées.

Exemples

La chaîne ci-dessus, avec Si le résultat est du JSON réglé sur 2 espaces, devient :

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

Un texte échappé sans guillemets extérieurs fonctionne aussi. Cette saisie :

Line one\nLine two\t(tabbed)

donne deux lignes, avec une vraie tabulation avant (tabbed) :

Line one
Line two	(tabbed)

Les échappements Unicode sont décodés. "Caf\u00e9" donne Café, et un texte français échappé en ASCII comme "L'\u00e9t\u00e9" redevient L'été.

Les chaînes doublement encodées

Parfois, les données ont été transformées deux fois en chaîne. Les barres obliques s’accumulent :

"\"{\\\"event\\\":\\\"signup\\\",\\\"user\\\":7}\""

Avec Déséchapper les chaînes imbriquées activé, l’outil déséchappe les deux couches et indique « 2 couches déséchappées. ». Avec Laisser tel quel sélectionné, le résultat est :

{"event":"signup","user":7}

Avec Déséchapper les chaînes imbriquées désactivé, il s’arrête après une couche et vous voyez la chaîne intérieure, toujours échappée :

"{\"event\":\"signup\",\"user\":7}"

C’est utile quand vous voulez voir exactement ce que contenait chaque couche.

Messages d’erreur

Si la saisie n’est pas une chaîne JSON valide, vous obtenez la ligne et la colonne du problème. Exemples réels :

Saisie Message
"bad \q escape" Ligne 1, colonne 6 : Séquence d'échappement non valide \q
He said "hi" Ligne 1, colonne 9 : Un guillemet double non échappé en \" a été trouvé
"unterminated Ligne 1, colonne 1 : Chaîne non terminée : le guillemet double fermant manque

Le JSON n’autorise que ces échappements : \", \\, \/, \b, \f, \n, \r, \t et \u suivi de quatre chiffres hexadécimaux. Les échappements d’autres langages, comme \x41 ou \', ne sont pas du JSON valide. Appuyez sur Afficher dans l’entrée pour aller au problème.

Comment ça marche

L’outil lit votre saisie comme un littéral de chaîne JSON, en ajoutant les guillemets extérieurs s’ils manquent. Il décode les échappements selon les règles du JSON. Si le résultat commence par un guillemet double et est lui-même une chaîne JSON valide, et que Déséchapper les chaînes imbriquées est activé, il décode de nouveau. Enfin, si le résultat est un objet ou un tableau JSON, il est formaté avec l’indentation choisie. Les nombres qu’il contient sont gardés exactement tels quels. Tout se passe dans votre navigateur.

Conseils

  • Si le résultat n’est pas un JSON valide, il s’affiche en texte brut, ce qui est correct pour des chaînes qui n’ont jamais été du JSON.
  • Copiez une valeur directement depuis une ligne de journal, guillemets compris, pour ne pas oublier un caractère à l’une ou l’autre extrémité.
  • Si des caractères \r parasites apparaissent dans le résultat, le texte d’origine avait des fins de ligne Windows.

Autres méthodes

JavaScript. JSON.parse(str) décode une couche. Rappelez-le sur le résultat pour une valeur doublement encodée, puis JSON.stringify(value, null, 2) pour la formater.

Python. json.loads(s) décode une chaîne JSON. Pour une chaîne doublement encodée, appelez-le deux fois.

jq. jq -r . file.json affiche une chaîne JSON en texte brut, et jq 'fromjson' analyse une chaîne qui contient du JSON.

Outils associés

Pour faire l’inverse et échapper un texte en chaîne JSON, utilisez JSON stringify. Pour valider ou reformater le résultat, utilisez le formateur JSON. Pour le transformer en YAML, utilisez le convertisseur JSON en YAML.

JSON unstringify : questions fréquentes

Faut-il inclure les guillemets extérieurs ?

Non. L'outil accepte la chaîne avec ou sans ses guillemets doubles. Si vous n'avez copié que l'intérieur de la chaîne depuis un journal ou un champ, collez-le tel quel.

Qu'est-ce qu'une chaîne JSON doublement encodée ?

C'est du JSON transformé deux fois en chaîne, donc rempli de longues suites de barres obliques inverses devant les guillemets. Cela arrive souvent quand un service transforme en chaîne des données qui en étaient déjà une. Avec Déséchapper les chaînes imbriquées activé, l'outil continue jusqu'à atteindre le vrai contenu.

Pourquoi une erreur parle-t-elle d'un guillemet double non échappé ?

Dans une chaîne JSON, chaque guillemet double doit s'écrire \". Sinon, la chaîne se termine trop tôt et la suite ne peut pas être lue. Le message indique la colonne de ce guillemet.

Mes données sont-elles envoyées quelque part ?

Non. Le déséchappement s'exécute dans votre navigateur, donc les lignes de journal et les charges contenant des données privées restent sur votre appareil.

Plus d'outils code et données

Voir tous les outils