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.