Entrée (Tableau d'objets JSON)

Sortie fusionnée

Qu'est-ce que la fusion JSON ?

Vous avez un fichier default.json et un production.json qui ne surcharge que quelques paramètres. Vous avez besoin d'un seul résultat fusionné. C'est exactement pour ça que cet outil existe. Fusionner du JSON signifie combiner deux objets ou plus en un seul. Dans une fusion superficielle, les objets ultérieurs écrasent les précédents pour les clés partagées. Dans une fusion profonde (suivant des schémas comme Object.assign), les objets imbriqués sont combinés récursivement au lieu d'être complètement remplacés.

Cet outil attend un tableau JSON d'objets. Il les fusionne dans l'ordre en mode superficiel ou profond. Le résultat est un seul objet. Le traitement s'exécute dans votre navigateur.

Comment utiliser cet outil

1

Entrer le tableau JSON

Collez un tableau JSON d'objets, ex. [{"a": 1}, {"b": 2}, {"a": 3}]. L'ordre compte : les objets ultérieurs écrasent les précédents pour les clés en conflit. Utilisez Profond ou Superficiel pour choisir le comportement de fusion.

2

Vérifier la sortie

Le panneau droit affiche l'objet fusionné. En mode superficiel, {"a": 1, "b": 2} fusionné avec {"a": 3} donne {"a": 3, "b": 2}. En mode profond, les objets imbriqués sont fusionnés récursivement.

3

Copier ou télécharger

Utilisez Copier ou Télécharger pour obtenir le résultat. Pour le formatage, utilisez le Formateur JSON. Pour la validation, utilisez le Validateur JSON.

Où la fusion JSON aide

La fusion de fichiers de configuration est un cas d'usage courant. Vous avez default.json et production.json ; vous voulez les fusionner pour que production n'écrase que les clés nécessaires. La fusion profonde combine les valeurs par défaut imbriquées récursivement. Pour les réponses API de plusieurs sources, ou lors de la construction d'objets à partir d'un modèle de base avec des surcharges spécifiques à l'environnement, la fusion vous donne un seul objet combiné. Le Formateur JSON aide à formater le résultat pour la lisibilité.

Exemples de fusion JSON

Voici un exemple de fusion de deux objets de configuration d'abonné. Les objets ultérieurs écrasent les précédents pour les clés en conflit.

Exemple : Fusion de configurations d'abonné

Entrée (tableau d'objets à fusionner):

Entrée

Sortie fusionnée:

Sortie

Fusion superficielle vs profonde

Fusion superficielle : si les deux objets ont une clé, la valeur de l'objet ultérieur remplace entièrement la précédente. Les objets imbriqués ne sont pas fusionnés ; ils sont remplacés. Fusion profonde : les objets imbriqués sont fusionnés récursivement. Donc {"a": {"b": 1}} fusionné avec {"a": {"c": 2}} donne {"a": {"b": 1, "c": 2}} en mode profond, mais {"a": {"c": 2}} en mode superficiel. Object.assign de JavaScript fait une fusion superficielle. Des bibliothèques comme Lodash merge font des fusions profondes.

La spécification JSON définit les objets comme des collections non ordonnées de paires clé-valeur. L'ordre de fusion compte : les valeurs ultérieures écrasent les précédentes. Pour les réponses API de Postman ou fetch, fusionner des configurations ou combiner des valeurs par défaut avec des surcharges est courant. La norme formelle est RFC 8259. Le guide JSON de MDN couvre le parsing et la sérialisation.

Questions fréquentes

Comment fusionner deux objets JSON en JavaScript ?

Pour une fusion superficielle, utilisez l'opérateur spread : {...objA, ...objB} ou Object.assign({}, objA, objB). Pour une fusion profonde, utilisez une bibliothèque comme Lodash _.merge(). Cet outil gère les deux cas sans code.

Quelle est la différence entre fusion profonde et superficielle ?

Dans une fusion superficielle, si les deux objets ont la même clé, la valeur de l'objet ultérieur remplace entièrement la précédente — y compris les objets imbriqués. Dans une fusion profonde, les objets imbriqués sont combinés récursivement. Ainsi {"a": {"b": 1}} fusionné profondément avec {"a": {"c": 2}} donne {"a": {"b": 1, "c": 2}} — les deux clés survivent.

Comment fusionner des fichiers de configuration JSON avec des surcharges ?

Collez vos configurations en tableau JSON avec les valeurs par défaut en premier et les surcharges en dernier : [defaultConfig, productionConfig]. Utilisez la fusion profonde si vos configurations ont des objets imbriqués.

Comment les tableaux dans les objets JSON sont-ils gérés lors de la fusion ?

Les tableaux sont remplacés, pas concaténés. Si l'objet A a "items": [1, 2] et l'objet B a "items": [3], le résultat a "items": [3].

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

Non. La fusion s'exécute entièrement dans votre navigateur. Votre JSON ne quitte jamais votre appareil.

Outils connexes

Pour la syntaxe JSON, voir json.org et RFC 8259. Pour la fusion en JavaScript, voir MDN Object.assign et la syntaxe spread. Pour la fusion profonde dans Lodash, voir la fonction merge. Pour la vue d'ensemble JSON de MDN. Voir aussi jq et Postman.