Aller au contenu principal
CuteJSON
↑↓ Naviguer Enter Selectionner Esc Fermer

Comment échapper et déséchapper les chaînes JSON correctement

Publie 2 min de lecture Par Akash Kinkar Pandey

Échapper est ce dont un document a besoin avant de pouvoir vivre dans une chaîne : une valeur JSON contenant un autre document JSON, une ligne de journal, un argument de shell, un fixture collé dans un fichier de test. Les règles sont courtes, et cet outil les applique toutes.

Utilisation de l’outil d’échappement JSON

Choisissez Échapper ou Déséchapper, collez votre texte, et appuyez Convertir. En échappant, vous pouvez choisir d’envelopper le résultat entre guillemets et d’échapper tout au-delà d’ASCII.

Échappement de

line1
line2	tab/slash"quote"café

avec les options par défaut produit :

"line1\nline2\ttab/slash\"quote\"café"

Le saut de ligne devient \n, la tabulation devient \t, le guillemet est échappé, la barre oblique est complètement laissée seule, et café reste du texte UTF-8.

Pourquoi la barre oblique est laissée seule

JSON accepte \/ comme échappement valide pour un / littéral, mais rien dans la spécification ne l’exige. L’habitude d’échapper les barres obliques vient de l’intégration de JSON dans une balise HTML <script>, où une séquence </script> littéral terminerait la balise prématurément. C’est un problème différent avec une solution différente, spécifique à ce contexte d’intégration, et cet outil ne l’applique pas par défaut. Déséchapper accepte toujours les deux orthographes, car un document écrit par quelque chose qui échappe les barres obliques doit quand même être lisible correctement.

Échapper au-delà d’ASCII

Activer cela convertit également chaque caractère au-delà de la plage ASCII en un échappement \u, point de code par point de code. Le é de café devient les six caractères antislash, u, 0, 0, e, 9, donc la chaîne ci-dessus se termine par caf suivi de cet échappement au lieu de la lettre elle-même. C’est ce que vous voulez lorsque le texte échappé doit traverser quelque chose qui n’est pas sûr en UTF-8, comme un ancien système ou un transport qui corrompt les encodages. Laissez-le éteint pour tout ce qui sera lu en UTF-8, car la forme échappée est plus difficile à lire sans avantage.

Les fragments sont acceptables

Aucune direction ne nécessite que l’entrée soit du JSON valide en soi. Échapper une partie d’un document, une seule valeur que vous allez intégrer dans une chaîne plus grande, est une demande courante, donc l’outil fonctionne sur des fragments et signale séparément si le résultat se parse en JSON complet, comme une note plutôt qu’un verdict.

Retour aux articles