Ce que l'aplatissement fait à un document JSON
L'aplatissement convertit un objet JSON hiérarchique en une carte à un seul niveau où chaque chemin de clé d'origine devient une chaîne en notation pointée. Par exemple, l'objet imbriqué {"user": {"name": "Alice", "address": {"city": "Paris"}}} devient {"user.name": "Alice", "user.address.city": "Paris"}. Toutes les valeurs feuilles sont préservées.
Les éléments de tableau sont inclus dans la clé plate par leur index : {"items": ["a", "b"]} devient {"items.0": "a", "items.1": "b"}. Cela permet de représenter le document complet comme un simple magasin clé-valeur.
L'aplatissement est réversible : à partir d'une carte plate, la structure imbriquée originale peut être reconstruite en divisant chaque clé sur le séparateur. L'opération de désaplatissement est également disponible dans cet outil.
Options de séparateur et cas particuliers
Le séparateur par défaut est un point (.). Vous pouvez le changer en barre oblique (/), tiret bas (_), double tiret bas (__) ou toute chaîne personnalisée. Le point peut causer de l'ambiguïté quand les noms de clés contiennent eux-mêmes des points.
Lorsque les clés contiennent le caractère séparateur, l'outil propose deux stratégies : échapper le séparateur dans les noms de clés, ou utiliser un séparateur qui n'apparaît dans aucune clé.
Les valeurs nulles et les objets/tableaux vides sont gérés explicitement. Une valeur null est préservée telle quelle. Un objet vide {} ne produit aucune clé. Un tableau vide [] ne produit également aucune clé.
Cas d'utilisation courants
Export en tableur : Les paires clé-valeur plates s'associent naturellement à un tableur à deux colonnes (clé | valeur). Combiné avec l'outil JSON vers CSV, l'aplatissement permet d'exporter des réponses API profondément imbriquées vers Excel.
Injection de variables d'environnement : Les systèmes d'orchestration de conteneurs stockent la configuration sous forme de paires clé=valeur plates. L'aplatissement d'une config JSON produit exactement le format nécessaire.
Diff et audit : Comparer deux cartes JSON plates est plus simple que de comparer des arbres imbriqués car les noms de clés encodent le chemin complet.