JSON Stringify
Outil gratuit en ligne JSON Stringify / Parse. En un clic, sérialisez les objets JSON en chaînes entre guillemets prêtes à intégrer dans du code ou une URL ; supporte aussi le mode Parse inverse pour restaurer les objets JSON.
Recommandations connexes
Qu'est-ce que JSON Stringify (Sérialisation JSON & Intégration en Chaîne) ?
JSON Stringify (sérialisation JSON) est la conversion d'un objet JSON (ou tableau, valeur) en une représentation sous forme de chaîne conforme à RFC 8259. En JavaScript, la méthode standard consiste à appeler `JSON.stringify(obj)`, qui produit une chaîne entre guillemets doubles comme `{"name":"Alice"}` — cela complète « objet → chaîne », et le résultat est lui-même du JSON valide qui peut être ré-analysé par tout JSON.parse().
Mais dans les vrais projets d'ingénierie, les développeurs ont souvent besoin d'« intégrer » davantage le résultat de sérialisation dans un autre texte — c'est ce que l'outil JSON Stringify résout véritablement : ① Mettre la chaîne JSON dans du code source JavaScript / Java / Python / Go comme initialiseur de variable ; ② Sauvegarder la chaîne JSON dans une colonne TEXT de base de données, une valeur Redis, ou un payload de file de messages ; ③ Utiliser la chaîne JSON comme valeur d'un autre champ JSON (« JSON imbriqué », ex. logs d'audit ou réponses API enveloppant le corps complet d'un appel précédent) ; ④ Mettre la chaîne JSON dans des paramètres de requête URL ou des en-têtes HTTP pour transmission inter-services.
Dans ces scénarios de « double intégration », la sortie brute de `JSON.stringify()` ne suffit pas — les sauts de ligne, guillemets doubles et barres obliques inverses à l'intérieur de la chaîne doivent être ré-échappés sinon ils casseront la structure externe. L'outil JSON Stringify de GeekFormat effectue automatiquement un « échappement d'intégration » par-dessus la sérialisation standard : il enveloppe le résultat dans une autre paire de guillemets doubles et échappe avec barre oblique inverse tous les caractères spéciaux (", \, \n, \r, \t, \b, \f) à l'intérieur, de sorte que la sortie puisse être collée dans n'importe quel code ou texte sans casser la syntaxe externe. Combiné au mode Parse, vous pouvez aussi restaurer complètement ces chaînes échappées en objets JSON lisibles. L'ensemble du processus se fait localement dans le navigateur ; rien n'est téléchargé.
Cas d'utilisation
- Sérialise les objets JSON comme littéraux de chaîne et assigne directement à des variables JavaScript / Java / Python / Go
- Imbriqué du JSON de réponses API dans un autre champ JSON (une valeur chaîne à l'intérieur du JSON externe)
- Stocke des chaînes JSON dans des colonnes TEXT de BD, valeurs Redis, payloads de files de messages — partout qui requiert une chaîne
- Transmet des chaînes JSON comme paramètres de requête URL ou parties d'un chemin entre services
- Intègre des extraits de code JSON lisibles dans des documents Markdown, HTML, LaTeX
- Analyse inverse des chaînes JSON des logs/fichiers de configuration en structures d'objet pour revue humaine
Comment utiliser
- Collez le contenu JSON (objet / tableau / valeur) dans la zone de saisie gauche, ou cliquez sur « Exemple » pour charger un JSON typique, ou téléchargez un fichier .json/.txt
- Choisissez le mode de traitement : Stringify par défaut (objet → chaîne intégrable) ; pour l'analyse inverse, cliquez sur « Parse » pour basculer en chaîne → objet
- En mode Stringify, basculez entre format « Pretty » (indentation 2 espaces) ou « Compact » (une ligne) selon vos besoins
- La zone de sortie droite se met à jour en temps réel ; après confirmation, cliquez sur « Copier » pour coller la chaîne dans du code / documents, ou cliquez sur « Télécharger » pour sauvegarder en stringified.txt / parsed.json
Fonctionnalités
- Mode bidirectionnel : supporte Stringify (objet JSON → chaîne entre guillemets intégrable) et Parse (chaîne entre guillemets → objet JSON)
- Échappement d'intégration intelligent : au-dessus de JSON.stringify standard, enveloppe automatiquement entre guillemets et échappe ", \, \n, \r, \t et autres caractères spéciaux ; colle directement dans code ou texte
- Indentation configurable : supporte indentation 0/2 espaces et mode compact une ligne, s'adaptant aux différents styles de code de langage et besoins d'optimisation de taille
- Intégration directe dans le code : le résultat de sérialisation peut être assigné directement à des variables JavaScript, Java, Python, Go et autres langages principaux sans ré-échappement manuel
- Optimisé pour scénario URL / base de données : les chaînes de sortie peuvent être placées en toute sécurité dans paramètres de requête, corps HTTP, colonnes TEXT de BD, documents Markdown
- Restauration inverse complète Parse : retire correctement les guillemets externes et déséchappe toutes les séquences \n, \t, \", \\ en objet JSON standard
- Traitement local pour la confidentialité : analyse, échappement, déséchappement et formatage se font localement dans le navigateur, aucune entrée envoyée à un serveur
- Chargement de fichiers et exemples : supporte le téléchargement de fichiers .json/.txt ou le chargement d'exemple en un clic pour vérification rapide des effets d'échappement
Exemples de code
Intégration dans du code source avec JavaScript JSON.stringify
javascript// En business vous devez intégrer un extrait JSON comme littéral de chaîne dans du code JS
const data = { name: 'Alice', age: 30, tags: ['dev', 'writer'] };
// Sérialisation standard
const json = JSON.stringify(data, null, 2);
// Échappement d'intégration : envelopper avec guillemets externes + échapper " \ \n \r \t internes
const embedded = '"' + json
.replace(/\\/g, '\\\\')
.replace(/"/g, '\\"')
.replace(/\n/g, '\\n')
.replace(/\r/g, '\\r')
.replace(/\t/g, '\\t') + '"';
// Analyse inverse
const restored = JSON.parse(embedded);
console.log(restored.name); // 'Alice'Intégration avec Python json.dumps + déséchappement
pythonimport json
data = {"name": "Alice", "age": 30, "tags": ["dev", "writer"]}
# Sérialiser et indenter
pretty = json.dumps(data, indent=2, ensure_ascii=False)
print(pretty)
# Échappement d'intégration : json.dumps fait l'échappement complet pour vous
embedded = json.dumps(pretty) # la valeur littéral de chaîne
print(embedded) # '"{\\n \\"name\\": \\"Alice\\",...\\n}"'
# Analyse inverse
restored = json.loads(json.loads(embedded))
print(restored["name"]) # AliceIntégrer du JSON comme chaîne en ligne de commande avec jq
bash# Sérialise data.json en une chaîne entre guillemets intégrable
jq -Rs . data.json
# Explication : -R (raw input) + -s (slurp) traite le fichier entier comme une chaîne,
# puis . le convertit en littéral de chaîne JSON avec " \ \n auto-échappés à l'intérieur
# Inverse : analyser une chaîne en JSON
echo '"{\"name\":\"Alice\"}"' | jq -r .FAQ
JSON Stringify est-il identique à JSON.stringify() ?
La logique sous-jacente est la même — les deux sérialisent un objet JSON en chaîne. La différence est que cet outil, en plus de la sérialisation standard, enveloppe aussi le résultat dans une autre paire de guillemets doubles et échappe avec barre oblique inverse tous les caractères spéciaux internes, de sorte que la sortie puisse être collée directement dans du code, des URL et des champs de base de données comme « littéral de chaîne » sans écrire d'échappement manuellement.
Quelle est la différence entre Stringify et JSON Escape ?
JSON Stringify convertit un objet JSON entier en chaîne entre guillemets intégrable. JSON Escape ajoute seulement l'échappement par barre oblique inverse aux caractères spéciaux d'une chaîne existante, sans changer la structure de l'objet. Le premier cible « objet → chaîne intégrable » ; le second « chaîne → chaîne sûre ». Quand votre entrée est déjà du JSON valide et que vous devez l'intégrer dans du code, utilisez Stringify ; quand votre entrée est un extrait de texte brut, utilisez Escape.
Stringify rendra-t-il le JSON moins lisible ?
Aucune donnée n'est perdue. Par défaut il préserve l'indentation de 2 espaces et les sauts de ligne, donc le résultat reste du JSON valide et lisible. Si vous avez besoin d'une chaîne plus courte d'une seule ligne pour des scénarios d'intégration sensibles à la taille, passez en mode « Compact ».
Le mode Parse peut-il restaurer les chaînes avec séquences \n \t \" ?
Oui. Le mode Parse détecte automatiquement si l'entrée est enveloppée dans des guillemets externes, déséchappe toutes les séquences communes comme \n, \r, \t, \", \\ selon les règles JSON, et ré-analyse en objet JSON standard. Notez que l'entrée doit être une chaîne légalement échappée, sinon une SyntaxError est signalée.
La sortie de Stringify peut-elle aller directement dans une URL ?
Elle peut, mais nous recommandons une étape supplémentaire d'URL Encode. Stringify gère les caractères de syntaxe JSON (", \, sauts de ligne), tandis que les URL traitent aussi &, =, espace, chinois comme caractères réservés. Pour les paramètres URL, vous devriez appeler en plus encodeURIComponent — cet outil n'est responsable que de la sécurité au niveau JSON.
Comment gérer le JSON imbriqué (une chaîne JSON comme valeur d'un autre JSON) ?
Le mode Stringify sérialise d'abord le JSON interne normalement pour obtenir une chaîne, puis effectue un « échappement d'intégration » sur cette chaîne (guillemets les plus externes, échappement interne de ", \, \n). Le résultat est une « valeur de champ chaîne valide du JSON externe » qui peut être collée directement dans le JSON externe. Le mode Parse fait l'inverse.
L'outil modifie-t-il l'ordre des champs ou les noms de clés ?
Non. Stringify émet strictement dans l'ordre actuel des champs de l'objet d'entrée, et ne modifie pas la casse, l'espacement ou le singulier/pluriel des noms de clés. Si vous avez besoin d'unifier l'ordre des clés, exécutez d'abord JSON Sort ; si les clés contiennent du chinois ou des caractères spéciaux, l'outil les émet selon la spec JSON.
Le résultat peut-il être sauvegardé comme fichier directement ?
Oui. En mode Stringify, cliquer sur « Télécharger » sauvegarde en stringified.txt (chaîne plate) ; en mode Parse, sauvegarde en parsed.json (fichier JSON standard). Vous pouvez aussi copier dans le presse-papiers et coller dans du code ou des documents.
Y aura-t-il un lag avec des entrées de plusieurs Mo ?
Cet outil est optimisé pour des entrées de 1 à 3 Mo ; des entrées plus grandes (ex. 10 Mo+) peuvent encore être traitées mais seront limitées par la mémoire du navigateur. Recommandations : ① exécutez JSON.stringify localement dans un script Node.js pour les énormes fichiers ; ② divisez en lots plus petits pour utiliser cet outil ; ③ fermez les autres onglets du navigateur pour libérer de la mémoire.
Est-il normal d'avoir du chinois/emoji dans la sortie de Stringify ?
Oui. La spec JSON autorise les caractères Unicode non-ASCII (incluant chinois, emoji) à apparaître directement dans les chaînes, et ils ne seront pas auto-échappés en \uXXXX. Seuls ", \ et les caractères de contrôle sont échappés. Si vous avez besoin de la forme \uXXXX (ex. pour la compatibilité avec d'anciens protocoles), vous pouvez post-traiter la sortie en code.
L'outil va-t-il télécharger mon JSON sur un serveur ?
Non. La sérialisation, désérialisation, échappement, déséchappement et formatage se font tous localement dans le navigateur ; ni l'entrée ni les résultats intermédiaires ne sont envoyés à aucun serveur. Fonctionne hors ligne, adapté au traitement des configurations internes, réponses API et JSON sensible.
Quel est le meilleur ordre d'utilisation avec JSON Compress et JSON Formatter ?
Chaîne recommandée : ① Réparer JSON (nettoyer JSON illégal) → ② Formater JSON (standardiser l'indentation) → ③ JSON Sort (unifier l'ordre des clés pour comparaison) → ④ Cet outil Stringify (intégrer en chaîne) → ⑤ JSON Escape (échappement au niveau caractère pour extraits de texte brut). Choisissez les étapes dont vous avez besoin.
Dépannage
Stringify affiche l'erreur « Invalid JSON »
Cause : l'entrée n'est pas du JSON valide, ex. virgules finales, guillemets simples, noms de clé sans guillemets, commentaires. Solution : utilisez d'abord l'outil Réparer JSON de GeekFormat pour le nettoyer, puis revenez à Stringify ; ou supprimez manuellement les caractères illégaux dans un éditeur et réessayez.
La sortie n'est pas du JSON valide après Parse
Cause : la chaîne d'entrée n'est pas correctement enveloppée dans des guillemets externes, ou les caractères d'échappement internes sont cassés (ex. certains éditeurs retirent automatiquement \). Solution : vérifiez que l'entrée commence par " ou ' ; cherchez des caractères \ non appariés ; restaurez d'abord avec l'outil Réparer JSON, puis Parsez.
L'ordre des champs change après Stringify
Cause : quelques navigateurs trient automatiquement les clés entières pures (ex. "0": ..., "1": ...) par ordre numérique. Solution : changez les clés entières en clés chaîne ("k0", "k1") avant le traitement ; ou utilisez d'abord l'outil JSON Sort pour ordonner les clés dans l'ordre souhaité, puis Stringify.
SyntaxError lors de l'intégration dans du code JS
Cause : l'épissure manuelle a manqué des échappements par barre oblique inverse, ou le guillemet externe a utilisé des guillemets simples alors que la chaîne contient des guillemets simples non échappés. Solution : copiez directement la sortie du mode Stringify de cet outil, sans édition manuelle ; si vous devez utiliser des guillemets simples, remplacez tous les ' internes par \'.
La sortie affiche \uXXXX au lieu de chinois
Cause : cet outil émet les caractères originaux par défaut (chinois/emoji affichés directement) ; si vous voyez \uXXXX, votre entrée était elle-même déjà une chaîne échappée. Solution : déséchappez une fois en mode Parse, ou en code utilisez ensure_ascii=False (Python) / un sérialiseur qui n'échappe pas.
Les gros fichiers (10 Mo+) figent ou plantent le navigateur
Cause : analyser un gros texte avec JSON.parse en une fois occupe beaucoup de mémoire. Solution : découpez l'entrée en lots de 1-2 Mo ; traitez les énormes fichiers localement avec Node.js (`JSON.stringify`) ou Python (`json.dumps`) ; utilisez cet outil pour vérification manuelle petite ensuite.
Glossaire
- JSON.stringify
- Méthode intégrée de JavaScript qui sérialise une valeur JS en chaîne JSON ; le résultat renvoyé est lui-même du JSON valide qui peut être ré-analysé par JSON.parse, mais ne contient par défaut pas de guillemets externes ni d'échappement supplémentaire.
- JSON.parse
- Méthode intégrée de JavaScript qui analyse une chaîne conforme à RFC 8259 en une valeur JS ; lance SyntaxError immédiatement sur toute erreur de syntaxe.
- Sérialiser
- Processus de conversion d'une structure de données en mémoire (objet/tableau) en un format texte stockable/transmissible (chaîne JSON). JSON Stringify est l'implémentation la plus courante.
- Désérialiser
- Inverse de la sérialisation — restaurer une chaîne JSON en objet/tableau en mémoire. Correspond à JSON.parse.
- Échappement
- Ajout d'une barre oblique inverse avant les caractères spéciaux (" → \", \ → \\, \n → \n, etc.) pour que la chaîne puisse être intégrée en toute sécurité dans du code ou texte externe sans casser la syntaxe externe.
- Littéral de chaîne
- Constante de chaîne entourée d'une paire de guillemets dans le code source. La forme de sortie finale de JSON Stringify est exactement le littéral de chaîne de JS/Java/Python et autres langages.
- Double Échappement
- Une chaîne déjà échappée une fois est échappée à nouveau lors de l'intégration dans une autre couche. Par exemple, `\n` avec double échappement devient `\\n` — un bug courant d'épissure manuelle dans les logs et le stockage en base de données.
- Échappement Unicode (\uXXXX)
- JSON autorise `\uXXXX` pour représenter tout caractère Unicode. La bibliothèque standard JS ne convertit pas automatiquement le chinois/emoji en `\uXXXX` sauf si `ensure_ascii=True` est explicitement spécifié.
- ensure_ascii (Python)
- Paramètre du module json.dumps de Python. Quand True (par défaut), il convertit tous les caractères non-ASCII en `\uXXXX` ; quand False, il conserve les caractères originaux.
- URL Encode
- Convertit les caractères réservés d'URL (&, =, espace, chinois, etc.) sous la forme `%XX`. JSON Stringify ne gère que les caractères de syntaxe JSON ; les paramètres URL nécessitent aussi encodeURIComponent.
Référence d'Échappement de Caractères JSON Stringify
| Caractère original | Après Stringify | Nom | Note |
|---|---|---|---|
" | \" | Guillemet double | Doit être échappé sinon il ferme le guillemet externe |
\ | \\ | Barre oblique inverse | Le caractère d'échappement lui-même nécessite une double représentation |
Saut de ligne LF | \n | Newline | Les chaînes multi-ligne doivent être échappées lors de la compression sur une ligne |
Retour chariot | \r | Carriage Return | CR dans les fins de ligne Windows CRLF |
Tabulation | \t | Tab | Échappement de la tabulation d'indentation |
Retour arrière | \b | Backspace | Échappement de caractère de contrôle |
Saut de page | \f | Form Feed | Échappement de caractère de contrôle |
/ | / | Barre oblique | Autorisée mais pas requise par le standard JSON |
JSON.stringify vs Outil Stringify vs JSON Escape
| Outil | Entrée | Sortie | Scénario typique |
|---|---|---|---|
| JSON.stringify() | Objet JS | Chaîne JSON valide | Réponses API, persistance de fichiers, JSON entre services |
| Cet outil mode Stringify | Objet JSON | Chaîne intégrable avec guillemets externes + échappements internes | Intégrer dans code, URL, champs chaîne de BD |
| Cet outil mode Parse | Chaîne stringified | Objet JSON standard | Restaurer les chaînes des logs/BD en objets |
| Outil JSON Escape | Chaîne plate | Chaîne avec seulement caractères spéciaux échappés | Échapper les caractères spéciaux en SQL/HTML/Shell |
| JSON.stringify(value, replacer, space) | Objet JS + filtre/indentation optionnel | Chaîne JSON indentée/filtrée | Logs de débogage, générer fichiers JSON lisibles |
Authoritative References
- Compression JSON
- CSV vers JSON
- JSON vers CSV
- JSON Diff
- JSON Escape / Unescape
- JSON Flatten
- Formatage JSON
- Générateur JSON
- Requête JSONPath
- Fusionner JSON
- Réparer JSON
- Validateur JSON Schema
- Trier JSON
- JSON Stringify
- JSON vers HTML
- JSON vers Java
- JSON to Markdown
- JSON en SQL
- JSON vers TOML
- JSON vers TypeScript
- XML vers JSON
- JSON vers XML
- YAML vers JSON
- JSON vers YAML
- JSON vers Python
- JSON vers Go
- JSON vers Rust
- JSON vers Swift
- JSON vers C#
- JSON vers C++
- JSON vers PHP