Aller au contenu
4all.tools

Analyser la taille, les types et la profondeur JSON

Mesurez la taille du JSON en octets UTF-8, comparez le gain de minification et examinez ses valeurs, tableaux et profondeur.

Espace de travail de l’outil

Analyseur de taille JSON

Activez JavaScript pour analyser JSON localement dans votre navigateur.

Analysez un document JSON strict, y compris les racines primitives. Les clés identiques après décodage sont rejetées. L’analyse commence seulement en appuyant sur Analyser JSON.

Votre JSON et le rapport restent dans cet onglet. Rien n’est envoyé ni enregistré.

Texte actuel : jusqu’à 1000000 unités UTF-16 et 4000000 octets UTF-8 ; fichier : 4000000 octets ; profondeur des conteneurs : 200 ; nœuds : 100000.

Texte actuel

Parsing : 1000000 unités de travail ; mesure : 1000000 unités ; analyse : 100000 visites ; classements : 4000000 comparaisons. Chaque chemin complet : 10000 unités ; chemins combinés : 400000. Délai : 15000 ms. Un chemin ou le travail peut dépasser le budget même si la taille et les nœuds respectent leurs limites.

Activez JavaScript pour analyser JSON localement dans votre navigateur.

    Quelle place occupe votre JSON ?

    Collez du JSON ou ouvrez un fichier .json UTF-8, puis cliquez sur Analyser JSON. Le rapport mesure le texte de l’éditeur, compte ses valeurs et présente les chemins les plus profonds ainsi que les tableaux ayant le plus d’éléments. Le traitement reste dans le navigateur ; le document et le rapport ne sont ni envoyés ni enregistrés.

    L’entrée doit être du JSON strict. Les commentaires, virgules finales et clés dupliquées sont refusés. Une valeur seule comme null, 42 ou "" est valide, tout comme {} et [].

    Pourquoi la taille et la longueur diffèrent

    Les octets UTF-8 mesurent la place nécessaire pour encoder le texte. La longueur UTF-16 compte les unités utilisées par les chaînes JavaScript. Aucune de ces mesures ne correspond au nombre de caractères visibles.

    Par exemple, {"é":"😀"} occupe 13 octets UTF-8 et 10 unités UTF-16. Écrire "\u00E9" au lieu de "é" prend plus de place, même si ces chaînes représentent la même valeur. KiB et MiB utilisent des multiples de 1024.

    La mesure inclut les espaces et un éventuel BOM initial. Comme l’éditeur peut normaliser les fins de ligne, le résultat peut différer de la taille du fichier d’origine.

    Ce que la minification économise

    Le rapport compare le texte actuel à une version sans espaces, tabulations ni sauts de ligne à l’extérieur des chaînes. Un BOM initial est également retiré. Les espaces dans les chaînes, l’ordre des clés, les échappements et les nombres écrits comme 1.0, 1e0, -0 ou 9007199254740993 sont conservés. Un second BOM initial est invalide.

    Essayez cet exemple :

    {"a":[null,{"b":true}],"c":"x"}

    Il est déjà minifié : les deux tailles sont de 31 octets, sans économie. Il contient 6 valeurs et 3 clés d’objet : 2 objets, 1 tableau, 1 null, 1 booléen et 1 chaîne.

    Il s’agit de la taille du texte, pas d’une estimation de la compression gzip/Brotli, du trafic HTTP, de la mémoire ou des tokens d’IA. Cet outil ne télécharge pas de JSON minifié et n’exporte pas le rapport.

    Lire le rapport de structure

    Chaque valeur compte une fois, y compris la racine et les conteneurs vides. Les clés sont comptées séparément. Les pourcentages par type décrivent le nombre de valeurs, pas leur taille en octets.

    La profondeur d’un chemin commence à zéro à la racine. La profondeur des conteneurs compte les objets et tableaux le long d’un chemin. Toutes deux atteignent 3 dans l’exemple. Le tableau $.a contient 2 éléments directs ; sa valeur la plus profonde se trouve en $.a[1].b.

    Chaque liste de détails affiche jusqu’à 20 entrées. Les tableaux sont classés par nombre d’éléments directs, pas par taille ; en cas d’égalité, l’ordre du document est conservé. Les lignes omises ne changent pas les totaux, qui portent sur tout le document.

    Utilisez Copier le chemin pour copier un chemin complet ou Localiser dans l’entrée pour sélectionner sa valeur. Après une modification, relancez l’analyse.

    Documents volumineux

    Limite Maximum
    Fichier et texte encodé en UTF-8 4 000 000 octets
    Longueur du texte 1 000 000 unités UTF-16
    Conteneurs imbriqués 200 niveaux
    Valeurs 100 000
    Durée d’analyse 15 secondes

    Des chemins longs ou une structure complexe peuvent atteindre d’autres limites de traitement avant ces maxima. En cas d’échec, aucun rapport partiel n’est affiché. Un avertissement de précision ne signifie pas que le texte mesuré a été arrondi ; les nombres hors de la plage acceptée, comme 1e999, sont refusés.

    JavaScript et un navigateur compatible avec les Workers sont nécessaires. L’annulation conserve l’entrée pour vous permettre de la réduire et de réessayer.