logo
GeekFormat

Compression JSON

Outil gratuit de compression JSON en ligne, prend en charge la compression compacte JSON sur une seule ligne, Escape/Unescape JSON, avec réparation syntaxique intelligente qui gère automatiquement les virgules finales et autres erreurs courantes, affiche le taux de compression en temps réel, éditeur CodeMirror avec raccourcis clavier, traitement purement frontend.

Recommandations connexes

Cas d'utilisation

  • Compresser les corps de requête/réponse JSON dans le développement d'API pour réduire les octets de transmission HTTP et améliorer la vitesse de réponse de l'interface (en particulier dans les environnements mobiles à réseau faible)
  • Simplifier les fichiers de configuration JSON frontend, les paquets de langue i18n et les données Mock avant le déploiement, en réduisant la taille des ressources statiques
  • Échapper des objets JSON en littéraux de chaîne dans du code de tests unitaires, des commandes Postman/curl pour l'intégration dans le code
  • Déséchapper en un clic le JSON échappé copié depuis des journaux (comme \"key\":\"value\") en JSON lisible
  • Réparer par lots des fichiers JSON avec des erreurs de syntaxe comme des virgules finales et des guillemets simples, en les convertissant en JSON valide en un clic
  • Compresser du JSON formaté sur une seule ligne et le coller dans des paramètres de commande en une ligne ou des outils de chat pour le partager

Fonctionnalités

  • Fonction trois en un : compression compacte JSON + Escape + Unescape, couvrant trois scénarios : réduction de taille, intégration dans des chaînes de code et restauration de chaînes échappées
  • Réparation syntaxique intelligente : moteur tryFixJSON intégré qui détecte et répare automatiquement les virgules finales, guillemets simples, commentaires, guillemets non fermés et autres erreurs JSON courantes
  • Éditeur CodeMirror : disposition à double panneau avec entrée à gauche et résultats à droite, prend en charge la coloration syntaxique JSON, la barre de séparation glissable et le réglage de la taille de police
  • Statistiques de compression en temps réel : la barre d'état affiche instantanément la taille d'origine (Bytes/KB/MB), la taille compressée et le pourcentage exact du taux de compression
  • Raccourcis clavier : Shift+Cmd/Ctrl+C compresser, E échapper, U déséchapper, O téléverser, D télécharger, K effacer, efficace sans souris
  • Mode d'exécution automatique : après collage ou modification, compresse/échappe automatiquement avec un debounce de 400 ms, WYSIWYG
  • Téléversement et téléchargement de fichiers : prend en charge le glisser-déposer ou le clic pour téléverser des fichiers .json/.txt, et télécharger output.json en un clic après traitement
  • Mémoire d'historique local : localStorage sauvegarde automatiquement le contenu de la dernière saisie, ne se perd pas lors de l'actualisation de la page
  • Données d'exemple : chargez un JSON d'exemple en un clic pour tester rapidement, les alertes d'erreur incluent un bouton de réparation
  • Sécurité purement frontend : tout le traitement s'exécute dans le navigateur local, les données ne sont pas téléchargées sur le serveur, fonctionne hors ligne

Comment utiliser

  1. Collez le contenu JSON dans l'éditeur de gauche, ou cliquez sur le bouton de téléversement pour sélectionner un fichier .json/.txt local, vous pouvez également cliquer sur le bouton « Exemple » pour charger un exemple
  2. Par défaut, le mode de compression s'exécute automatiquement (debounce de 400 ms), vous pouvez également cliquer manuellement sur le bouton « Compresser » ou appuyer sur le raccourci Shift+Cmd/Ctrl+C
  3. Lorsque vous avez besoin d'échapper en chaîne de code, appuyez sur Shift+Cmd/Ctrl+E ou passez en mode Escape ; lorsque vous avez besoin de restaurer une chaîne échappée, appuyez sur Shift+Cmd/Ctrl+U
  4. Si le JSON a des erreurs de syntaxe, une alerte d'erreur rouge s'affiche en bas ; lorsqu'il y a des erreurs réparables, un bouton « Tenter de réparer » apparaît, cliquez pour corriger automatiquement
  5. La barre d'état inférieure affiche en temps réel les octets avant/après compression et le pourcentage du taux de compression ; après avoir confirmé le résultat, cliquez sur le bouton « Copier » ou « Télécharger »
  6. La barre de séparation entre les panneaux gauche et droit peut être glissée pour ajuster la largeur, vous pouvez également utiliser des raccourcis clavier pour effectuer rapidement toutes les opérations

FAQ

Quelle est la différence entre la compression JSON et le formatage JSON ?

Le formatage JSON (Beautify) ajoute de l'indentation, des sauts de ligne et des espaces entre les paires clé-valeur pour faciliter la lecture humaine, adapté au développement et au débogage ; la compression JSON (Minify) supprime tous les caractères d'espacement inutiles (espaces, sauts de ligne, tabulations, indentation), transformant le JSON multi-lignes en un format compact d'une seule ligne, dans le but de réduire la taille et d'améliorer l'efficacité de transmission, adapté à la transmission API en production, aux fichiers de configuration compacts et à l'intégration dans des chaînes de code. Les deux sont des opérations complémentaires : on utilise la version formatée pendant le développement et la version compressée en production.

Qu'est-ce que l'échappement JSON (Escape) ? Quand faut-il l'utiliser ?

L'échappement JSON consiste à ajouter des barres obliques inverses d'échappement aux caractères spéciaux dans les chaînes JSON (principalement en convertissant les guillemets doubles " en \", les barres obliques inverses \ en \\, les sauts de ligne en \n, etc.), transformant les objets JSON multi-lignes en un littéral de chaîne d'une seule ligne qui peut être intégré directement dans du code source JavaScript, Java, Python, etc. Scénarios typiques : intégrer des réponses JSON comme chaînes dans du code de test lors de l'écriture de tests unitaires ; transmettre des chaînes JSON dans des commandes Postman ou curl ; utiliser JSON comme valeur de chaîne dans des fichiers de configuration. Unescape ramène la chaîne échappée au JSON standard.

Si le JSON d'entrée a des erreurs de syntaxe (comme une virgule finale), peut-il être compressé avec succès ?

Oui. Cet outil intègre un moteur de réparation syntaxique intelligent (tryFixJSON) qui détecte automatiquement et tente de réparer les erreurs JSON courantes avant la compression : 1) virgules superflues à la fin (trailing comma), comme {"a":1,} ; 2) guillemets simples au lieu de guillemets doubles, comme {'a':1} ; 3) chaînes non fermées ; 4) commentaires JavaScript (// et /* */) ; 5) virgules superflues à la fin, etc. Après réparation, la compression ou l'échappement est exécuté pour garantir que la sortie soit un JSON 100 % valide. Si des erreurs réparables sont détectées, un bouton « Tenter de réparer » apparaît sur le panneau ; cliquez pour corriger automatiquement.

La compression JSON entraîne-t-elle une perte de données ? Quel est le taux de compression habituel ?

Aucune perte de données. La compression JSON ne fait que supprimer les caractères d'espacement de formatage (espaces, sauts de ligne, tabulations), sans modifier aucun nom de clé, valeur de clé, type de données ou structure. Après JSON.parse puis JSON.stringify, les données sont complètement identiques aux originales. Le taux de compression dépend du degré de formatage du JSON d'origine : si le JSON d'origine était formaté avec une indentation de 2 espaces, le taux de compression est généralement de 20 % à 40 % (suppression de l'indentation et des sauts de ligne) ; s'il y a beaucoup d'espaces consécutifs ou de commentaires (après réparation), le taux de compression peut dépasser 50 %. La barre d'état affiche en temps réel le nombre d'octets d'origine, les octets compressés et le taux de compression exact.

Les données fuitent-elles lors de la compression de configurations JSON sensibles ou de données d'API ?

Non. Cet outil adopte une architecture de traitement purement frontend. Toute l'analyse, la compression, l'échappement et la réparation JSON s'effectuent entièrement dans le moteur JavaScript de votre navigateur local. Les données ne sont téléchargées sur aucun serveur externe via des requêtes réseau, et l'outil fonctionne même hors ligne. Votre clé API, configuration de base de données, données métier et autres informations sensibles restent toujours en local.

Quels raccourcis clavier sont pris en charge ?

Pour améliorer l'efficacité, cet outil offre une prise en charge complète des raccourcis clavier (macOS utilise ⌘+Shift, Windows utilise Ctrl+Shift) : Shift+⌘/Ctrl+C compresser en un clic ; Shift+⌘/Ctrl+E échapper ; Shift+⌘/Ctrl+U déséchapper ; Shift+⌘/Ctrl+O téléverser un fichier ; Shift+⌘/Ctrl+D télécharger le résultat ; Shift+⌘/Ctrl+K effacer. Lors de la saisie, l'outil exécute également automatiquement le mode actuel avec un debounce de 400 ms, sans avoir à cliquer plusieurs fois sur les boutons.

Qu'est-ce que la compression JSON (JSON Minify) ?

La compression JSON (JSON Minification) est le processus qui consiste à supprimer tous les caractères d'espacement inutiles (espaces, sauts de ligne \n, tabulations \t, retours chariot \r) et les commentaires (non standard mais courants) du texte JSON, en convertissant le JSON formaté avec indentation multiniveau en un format compact d'une seule ligne. La compression JSON ne modifie aucun contenu de données : les noms de clé, valeurs de clé, types de données (chaîne/nombre/booléen/null/tableau/objet) et structure imbriquée restent complètement intacts ; seuls les espaces de formatage destinés à la lecture humaine sont supprimés.

La valeur centrale de la compression JSON est la réduction du volume de données. Les espaces d'indentation et les sauts de ligne dans le JSON formaté, bien que conviviaux pour les développeurs, sont des octets redondants lors de la transmission et du stockage réseau. Par exemple, une réponse API typique peut faire 2 Ko formatée et seulement 1,2-1,5 Ko compressée, réduisant la taille de 25 % à 40 %. Dans les scénarios API à haute concurrence, les environnements mobiles à réseau faible et la distribution massive de fichiers de configuration, la compression JSON réduit considérablement la consommation de bande passante, améliore la vitesse de transmission et réduit la charge du serveur. En production, elle est généralement utilisée avec la compression HTTP comme Gzip/Brotli, mais JSON Minify en tant que compression de couche de contenu reste irremplaçable.

L'implémentation de la compression JSON est très simple : utilisez JSON.parse() pour analyser le texte en objet JavaScript, puis utilisez JSON.stringify(obj) sans paramètre d'indentation pour sérialiser la sortie ; c'est précisément l'implémentation centrale de cet outil. Cette méthode parse + stringify garantit naturellement que le JSON de sortie est 100 % valide et élimine également automatiquement les commentaires illégaux et les virgules finales (avec la réparation d'erreurs). Important : la compression JSON et la compression Gzip sont des optimisations de couches différentes : JSON Minify supprime les espaces redondants au niveau du contenu, Gzip est un algorithme de compression général au niveau de la transmission, et les deux peuvent être utilisés en combinaison.

术语表

JSON
JavaScript Object Notation, un format d'échange de données léger qui utilise des paires clé-valeur et des structures de tableau, lisible par l'homme et facile à analyser par les machines, c'est le format de données standard pour les REST API.
Minify / Compression
Processus de suppression de tous les caractères inutiles (espaces, sauts de ligne, commentaires) du code/des données pour réduire la taille, courant dans les ressources frontend comme JS/CSS/JSON.
Beautify / Formatage
Opération inverse de Minify, ajoute de l'indentation, des sauts de ligne et des espaces pour que la structure JSON soit claire et lisible, aussi appelé Prettify ou Pretty Print.
Escape / Échappement
Ajouter des barres obliques inverses avant les caractères spéciaux (comme " qui devient \", saut de ligne qui devient \n), convertissant le JSON multi-lignes en un littéral de chaîne d'une seule ligne intégrable dans du code.
Unescape / Déséchappement
Opération inverse d'Escape, ramène les séquences d'échappement comme \", \n, \\ aux caractères d'origine, restaurant le format JSON standard.
Trailing Comma
Virgule superflue après le dernier élément d'un objet ou d'un tableau ; JavaScript l'autorise mais le standard JSON non, c'est l'erreur de syntaxe JSON la plus courante.
Gzip / Brotli
Algorithmes de compression générale de couche de transmission HTTP, complémentaires de JSON Minify ; le meilleur effet est obtenu en compressant avec Gzip après Minify.
Payload
Le corps de données réel transmis dans une requête ou une réponse API (généralement au format JSON) ; compresser le Payload réduit directement la consommation de bande passante.
CodeMirror
Composant d'éditeur de code côté navigateur ; cet outil l'utilise pour obtenir la coloration syntaxique JSON, les numéros de ligne, la correspondance des parenthèses et une expérience d'édition professionnelle.

Comparaison entre la compression JSON et les méthodes de compression courantes

Méthode de compressionCouche de compressionSans perteLisibilitéScénario d'application
JSON MinifyCouche de contenu (suppression espaces)Sans perteIllisible (une ligne)Transmission API production, configuration compacte
JSON BeautifyCouche de contenu (ajout espaces)Sans perteHaute lisibilitéDéveloppement et débogage, lecture humaine
GzipCouche de transmissionSans perteIllisible (binaire)Content-Encoding des réponses HTTP
BrotliCouche de transmissionSans perteIllisible (binaire)Compression de ressources statiques HTTPS (20 % de plus que Gzip)
MessagePackCouche de sérialisationSans perteIllisible (binaire)Communication interne RPC haute performance

Tableau des caractères spéciaux d'échappement JSON

Caractère d'origineAprès échappementNomDescription
"\"Guillemets doublesLe caractère le plus courant qui doit être échappé dans les chaînes JSON
\\\Barre oblique inverseLe caractère d'échappement lui-même doit être échappé
Saut de ligne\nNewlineDoit être échappé lors de la compression de chaînes multi-lignes en une seule ligne
Tabulation\tTabÉchappement de la tabulation d'indentation
Retour chariot\rCarriage ReturnCR dans le saut de ligne CRLF de Windows
/\/Barre obliqueLe standard JSON permet mais n'oblige pas à l'échapper (facultatif)

Authoritative References