← Tous les outils JSON

Trier les clés JSON

Apportez de la cohérence à tout objet JSON en triant chaque clé alphabétiquement.

Pourquoi trier les clés JSON ?

Les objets JSON sont techniquement non ordonnés — la spécification (ECMA-404) indique que les implémentations ne sont pas tenues de préserver l'ordre des clés — mais en pratique la plupart des analyseurs et des sérialiseurs préservent l'ordre d'insertion. Cela signifie que deux objets avec des clés et des valeurs identiques dans des ordres différents sont sémantiquement équivalents mais textuellement différents, ce qui crée du bruit dans les diffs de contrôle de version.

Trier les clés alphabétiquement avant de valider un fichier de configuration, un schéma ou une fixture dans le contrôle de source transforme un changement de réorganisation sans signification en une structure propre et prévisible. Un développeur qui ajoute une nouvelle clé et trie à nouveau produira un diff minimal — seule la nouvelle clé apparaît comme ajoutée.

Le tri des clés est également une étape vers le JSON canonique — une sérialisation déterministe où deux documents logiquement identiques produisent toujours la même séquence d'octets. Le JSON canonique est utile pour les signatures cryptographiques, la mise en cache et les fixtures de test déterministes.

Tri en profondeur vs. tri superficiel

Le tri superficiel ne réordonne que les clés de premier niveau d'un objet JSON. Le tri en profondeur (récursif) réordonne les clés à chaque niveau d'imbrication — objets imbriqués, objets dans les tableaux. Notre outil effectue un tri en profondeur par défaut.

Les éléments de tableau ne sont jamais réordonnés. Les tableaux sont des collections ordonnées et la réorganisation de leurs éléments changerait la sémantique des données. Le tri s'applique uniquement aux clés d'objet, pas au contenu des tableaux.

Les clés numériques (dont les noms sont des entiers) sont triées alphabétiquement, pas numériquement. Cela signifie que "10" vient avant "9" dans un tri alphabétique.

Sensibilité à la casse et tri par locale

Par défaut, les clés sont triées en utilisant l'ordre standard des points de code Unicode, qui est sensible à la casse : les lettres majuscules (A–Z) viennent avant toutes les lettres minuscules (a–z). Cela signifie que "Zebra" est trié avant "apple".

Notre outil offre les deux modes. Le tri insensible à la casse est généralement plus intuitif pour les lecteurs humains et est le meilleur choix pour les fichiers de configuration qui mélangent les casses.

Notez que le tri spécifique à la locale (où des caractères spécifiques à une langue comme ä, ñ, é sont triés correctement) n'est pas appliqué par défaut, car les clés JSON sont généralement des identifiants ASCII.

FAQ

Le tri des clés change-t-il la signification de mon JSON ?

Pour les analyseurs JSON standard, non — l'ordre des clés d'objet n'est pas sémantiquement significatif. Cependant, certains consommateurs non standard peuvent dépendre de l'ordre des clés.

Les éléments de tableau sont-ils réordonnés ?

Non. Les tableaux sont des collections ordonnées et leur ordre d'éléments est préservé exactement. Seules les clés d'objet sont triées.

Le trieur fonctionne-t-il récursivement sur les objets imbriqués ?

Oui. Par défaut le trieur parcourt récursivement tous les objets imbriqués à chaque profondeur, y compris les objets imbriqués dans les tableaux.

Que se passe-t-il avec les clés numériques comme "1", "10", "2" ?

Elles sont triées alphabétiquement ("1", "10", "2"), pas numériquement.

Mes données sont-elles envoyées à un serveur ?

Non. Tout le traitement s'exécute entièrement dans votre navigateur. Rien de ce que vous collez n'est transmis ou stocké.

Outils similaires