Tri JSON par clé

Traitement local
app.sort.view

Vous pouvez aussi injecter des données via #data={"name":"Ada"} ou #url=... Elles sont lues puis retirées de la barre d’adresse.

Triez les clés d’objet par nom de champ pour comparer plus facilement deux exports. Beaucoup de sérialiseurs ne garantissent pas l’ordre : après tri, le Diff est plus propre. Vous pouvez aussi committer le résultat dans Git pour réduire le bruit d’ordre des clés.

Tri récursif

Les clés des objets imbriqués sont aussi triées par nom. Une config profonde se normalise en une passe, sans trier couche par couche à la main.

L’ordre lexicographique des noms de clés favorise une sortie stable d’un langage ou outil à l’autre.

Les éléments de tableau ne sont pas réordonnés

L’ordre d’une liste a souvent un sens métier ; il est conservé par défaut. Chronologies, étapes, classements ne sont pas triés par valeur.

Pour normaliser seulement les clés d’objet sans toucher aux listes, cette page est plus explicite qu’une case à cocher dans le formateur.

À utiliser avec Diff

Trier puis comparer réduit le bruit « ce n’était que l’ordre des clés ». Triez les deux côtés avant de coller dans Diff.

La page de formatage a aussi « Trier les clés », effet similaire ; ici, c’est la seule mission.

Exemple

Avant tri
{
  "z": 1,
  "a": { "n": 2, "m": 1 },
  "m": 3
}
Après tri
{
  "a": {
    "m": 1,
    "n": 2
  },
  "m": 3,
  "z": 1
}
Les chaînes sont-elles triées lexicographiquement ?

Les clés d’objet sont triées par nom ; les valeurs chaînes ne le sont pas.

Est-ce stable ?

Une même entrée triée plusieurs fois doit produire le même ordre de clés, pratique pour Git.

L’ordre des tableaux change-t-il ?

Les éléments de tableau ne sont pas réordonnés. Seules les clés d’objet le sont.

Comment sont triées les clés non ASCII ?

Selon la comparaison de chaînes JavaScript par défaut. Un mélange de langues peut ne pas suivre l’ordre phonétique habituel : l’essentiel est d’être cohérent dans l’équipe.

Flux recommandé

  1. Collez séparément deux JSON « même contenu, clés dans le désordre » pour les trier.
  2. Copiez le résultat, puis comparez sur la page Diff.
  3. Pour un dépôt ou un snapshot de test, prenez la version triée comme sortie canonique.
  4. Si un tableau métier a un ordre significatif, n’utilisez pas un autre script qui le mélangerait.

Le tri ne sert qu’à « normaliser les clés d’objet », pas à un nettoyage générique. Pour valeurs vides et masquage, utilisez la page de nettoyage.