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

Comment minifier JSON et voir exactement ce que ça a économisé

Publie 2 min de lecture Par Akash Kinkar Pandey

Minifier JSON signifie supprimer les espaces qu'il n'a pas besoin : les espaces après les deux-points et les virgules, l'indentation, et les sauts de ligne. C'est toute l'opération. Rien sur les valeurs, leur ordre, ou leur signification ne change.

Utilisation du minifieur JSON

Collez votre document, ou chargez l'exemple, et appuyez sur Minifier. Le résultat apparaît à droite avec le nombre d'octets, pour que vous puissiez voir l'économie réelle au lieu de deviner. Un fichier de configuration indenté typique se réduit de 30 à 50 pour cent selon la profondeur de l'imbrication et la longueur des noms de clés.

Pourquoi alterner entre formater et minifier est sûr

Les deux outils de ce site fonctionnent de la même manière en coulisses : tokenisent l'entrée, la valident, et réimpriment à partir du flux de tokens plutôt qu'à partir d'une valeur analysée par JSON.parse. Cela signifie qu'un entier long conserve chaque chiffre et qu'une clé d'objet qui ressemble à un nombre conserve la position où vous l'avez écrite, dans n'importe quel sens. Vous pouvez formater un document, puis le minifier, puis le formater à nouveau, et les valeurs ne dérivent jamais.

C'est important car l'alternative courante, passer par JSON.parse et JSON.stringify, arrondit silencieusement les entiers dépassant Number.MAX_SAFE_INTEGER et réordonne les clés de type entier. Un minifieur construit de cette manière est silencieusement imprécis exactement dans les documents où perdre un chiffre compte le plus : les IDs de base de données, les horodatages, les identifiants externes.

Quand minifier aide vraiment

Le JSON minifié est pour les machines, pas pour la prochaine personne qui doit lire le fichier. C'est utile avant d'envoyer un document sur un réseau où chaque octet a un coût, comme intégrer un bloc de configuration dans une URL, l'stocker dans une colonne de base de données avec une limite de taille, ou l'envoyer dans un bundle d'application mobile. Ce n'est pas utile pour un fichier que vous allez soumettre au contrôle de version, car un diff minifié est illisible et un formaté ne l'est pas.

Un moyen rapide de vérifier si la minification a cassé quelque chose

Si vous minifiez un document et que vous décidez de le vérifier, formatez-le immédiatement. Puisque les deux sens réimpriment à partir du même flux de tokens, le résultat formaté doit être identique octet pour octet à ce que vous aviez au départ, à part tout espace de fin que vous aviez. Si ce n'est pas le cas, quelque chose en amont de cet outil a déjà modifié les données, ce qui vaut la peine de le savoir avant de l'envoyer.

Retour aux articles