Fusionner JSON
Fusionne en profondeur deux objets JSON en un seul ; les clés répétées gardent par défaut la valeur de droite (modifiable ou simple comptage des conflits), les tableaux sont remplacés en entier.
Fusionnez en profondeur deux JSON et gérez les champs portant le même nom
Qu’est-ce que la fusion JSON ?
La fusion JSON consiste à combiner deux données JSON en un seul résultat. Les champs présents uniquement dans JSON A ou JSON B sont conservés, tandis que les champs portant le même nom sont traités selon la stratégie choisie. Lorsque les deux valeurs sont des objets, la fusion en profondeur poursuit la comparaison à l’intérieur de ces objets.
Comment fonctionne la fusion JSON en profondeur ?
L’outil utilise par défaut une fusion en profondeur. Pour les objets imbriqués, un champ portant le même nom ne remplace pas immédiatement tout l’objet de A par celui de B : les champs internes sont également fusionnés. Par exemple, si A contient server.port et B contient server.host, les deux champs sont conservés. Seules les valeurs présentes au même chemin et différentes sont traitées selon la stratégie sélectionnée. Si la fusion en profondeur est désactivée, les champs portant le même nom sont traités comme des valeurs entières.
Quelles sont les trois stratégies pour les champs portant le même nom ?
Avec la priorité à B, la valeur de JSON B est conservée ; c’est la stratégie par défaut et elle convient notamment pour remplacer une configuration par défaut avec une configuration B. Avec la priorité à A, la valeur de JSON A est conservée et B complète uniquement les champs absents de A. Avec la conservation de la valeur de gauche en cas de conflit, la valeur de A est conservée lorsqu’une différence existe et le nombre de conflits est comptabilisé.
Comment les tableaux sont-ils fusionnés ?
Les tableaux sont traités comme des valeurs globales et ne sont pas fusionnés par index. Si A et B contiennent tous deux un tableau au même chemin, le résultat sélectionne l’un des deux tableaux selon la stratégie de priorité choisie, sans concaténer automatiquement leurs éléments ni les fusionner individuellement. Cela évite de produire des combinaisons inattendues pour les listes ordonnées.
Qu’est-ce qui est considéré comme un conflit ?
Lorsqu’une valeur existe au même chemin dans JSON A et JSON B, que les deux valeurs sont différentes et qu’une stratégie doit déterminer laquelle conserver, le champ est comptabilisé comme conflit. Deux valeurs identiques ne sont pas considérées comme un conflit. Les champs portant le même nom à l’intérieur d’objets imbriqués sont également traités selon leur chemin réel. Une fois la fusion terminée, vous pouvez vérifier le nombre de champs en conflit et contrôler les configurations importantes.
Dans quels cas utiliser la fusion JSON ?
JSON Merge convient pour fusionner une configuration par défaut et une configuration d’environnement, plusieurs fichiers de configuration, des valeurs par défaut d’API et des paramètres utilisateur, ou des données JSON maintenues en plusieurs parties. Si vous devez d’abord identifier les changements précis, utilisez JSON Diff avant la fusion.
Comment fusionner des fichiers JSON locaux ?
Passez à l’onglet de téléversement de fichiers et placez le premier fichier dans JSON A et le second dans JSON B. Vous pouvez également faire glisser directement les fichiers JSON. Les fichiers sont lus et traités dans le navigateur, avec une limite de 10 Mo par fichier. Une fois les deux données chargées, la fusion peut être effectuée sans envoyer le contenu au serveur. Le bouton d’échange permet d’inverser A et B, ce qui peut modifier le résultat puisque l’ordre influence les valeurs prioritaires.
Comment vérifier le résultat de la fusion ?
Après la fusion, vérifiez d’abord le nombre de champs en conflit, puis contrôlez les valeurs finales des champs importants. Avec la priorité à B, vérifiez en particulier que les valeurs de JSON B sont correctes ; avec la priorité à A, vérifiez que les valeurs originales de A doivent bien être conservées. Le résultat peut être copié ou téléchargé au format JSON. Il est généré avec une indentation de deux espaces pour faciliter la lecture et la gestion de versions.
Comment sont traités les champs identiques lors d’une fusion JSON ?
JSON Merge utilise par défaut une fusion en profondeur : les champs uniques sont conservés, les objets imbriqués sont fusionnés récursivement et les champs identiques sont par défaut remplacés par ceux de JSON B. Vous pouvez également donner la priorité à JSON A ou conserver la valeur de gauche en cas de conflit tout en comptant les conflits.
Les tableaux sont traités comme des valeurs globales et ne sont pas fusionnés élément par élément. L’ordre est A puis B ; inverser les deux entrées peut donc modifier la valeur finale des champs en conflit.
- Fusionne deux JSON en profondeur, conserve les champs uniques et peut désactiver la fusion imbriquée
- Trois stratégies pour les champs identiques : priorité à B, priorité à A ou conservation de la valeur de gauche avec comptage des conflits
- Les tableaux sont traités comme des valeurs globales et ne sont ni fusionnés par index ni concaténés automatiquement
- Le nombre de champs en conflit est indiqué après la fusion pour faciliter le contrôle des risques de remplacement
- Prend en charge le texte et les fichiers JSON locaux, avec une limite de 10 Mo par fichier
- Traitement local dans le navigateur, sans envoi du contenu JSON au serveur