JSON Zusammenführen
Mehrere JSON-Objekte zu einem zusammenführen
Eingabe (Array von JSON-Objekten)
Zusammengeführte Ausgabe
Was ist JSON Merge?
Sie haben eine default.json-Konfiguration und eine production.json, die nur einige Einstellungen überschreibt — und brauchen ein einzelnes zusammengeführtes Ergebnis. Genau dafür ist dieses Tool. JSON zusammenführen bedeutet, zwei oder mehr JSON-Objekte zu einem zu kombinieren. Bei der flachen Zusammenführung überschreiben spätere Objekte frühere für gemeinsame Schlüssel. Bei der tiefen Zusammenführung (nach Mustern wie Object.assign) werden verschachtelte Objekte rekursiv kombiniert statt vollständig ersetzt.
Dieses Tool erwartet ein JSON-Array von Objekten. Es führt sie in Reihenfolge entweder im flachen oder tiefen Modus zusammen. Das Ergebnis ist ein einzelnes Objekt. Die Verarbeitung erfolgt in Ihrem Browser.
So verwenden Sie dieses Tool
JSON-Array eingeben
Fügen Sie ein JSON-Array von Objekten ein, z. B. [{"a": 1}, {"b": 2}, {"a": 3}]. Die Reihenfolge ist wichtig: spätere Objekte überschreiben frühere bei konfligierenden Schlüsseln. Verwenden Sie Tief oder Flach, um das Zusammenführungsverhalten zu wählen.
Ausgabe prüfen
Das rechte Panel zeigt das zusammengeführte Objekt. Im flachen Modus ergibt {"a": 1, "b": 2} zusammengeführt mit {"a": 3} das Ergebnis {"a": 3, "b": 2}. Im tiefen Modus werden verschachtelte Objekte rekursiv zusammengeführt.
Kopieren oder Herunterladen
Verwenden Sie Kopieren oder Herunterladen, um das Ergebnis zu erhalten. Zur Formatierung verwenden Sie den JSON Formatierer. Zur Validierung verwenden Sie den JSON Validator.
Wann JSON Merge hilft
Das Zusammenführen von Konfigurationsdateien ist ein häufiger Anwendungsfall. Sie haben default.json und production.json; Sie möchten sie zusammenführen, sodass Production nur die benötigten Schlüssel überschreibt. Tiefe Zusammenführung kombiniert verschachtelte Standardwerte rekursiv. Bei API-Antworten aus mehreren Quellen oder beim Erstellen von Objekten aus einer Basisvorlage mit umgebungsspezifischen Überschreibungen liefert Merge ein einzelnes kombiniertes Objekt. Der JSON Formatierer hilft beim Formatieren des Ergebnisses zur besseren Lesbarkeit.
JSON-Merge-Beispiele
Hier ein Beispiel zum Zusammenführen von zwei Teilnehmer-Konfigurationen. Spätere Objekte überschreiben frühere bei konfligierenden Schlüsseln.
Beispiel: Teilnehmer-Konfigurationen zusammenführen
Eingabe (Array von Objekten zum Zusammenführen):
Zusammengeführte Ausgabe:
Flache vs. tiefe Zusammenführung
Flache Zusammenführung: Wenn beide Objekte einen Schlüssel haben, ersetzt der Wert des späteren Objekts das frühere vollständig. Verschachtelte Objekte werden nicht zusammengeführt; sie werden ersetzt. Tiefe Zusammenführung: Verschachtelte Objekte werden rekursiv zusammengeführt. Also ergibt {"a": {"b": 1}} zusammengeführt mit {"a": {"c": 2}} im tiefen Modus {"a": {"b": 1, "c": 2}}, im flachen Modus jedoch {"a": {"c": 2}}. Object.assign in JavaScript führt eine flache Zusammenführung durch. Bibliotheken wie Lodash merge führen tiefe Zusammenführungen durch.
Die JSON-Spezifikation definiert Objekte als ungeordnete Sammlungen von Schlüssel-Wert-Paaren. Die Zusammenführungsreihenfolge ist wichtig: spätere Werte überschreiben frühere. Bei API-Antworten von Postman oder fetch ist das Zusammenführen von Konfigurationen oder das Kombinieren von Standardwerten mit Überschreibungen üblich. Der formale Standard ist RFC 8259. Der MDN-JSON-Leitfaden behandelt Parsing und Stringifizierung.
Häufig gestellte Fragen
Wie führe ich zwei JSON-Objekte in JavaScript zusammen?
Für eine flache Zusammenführung verwenden Sie den Spread-Operator: {...objA, ...objB} oder Object.assign({}, objA, objB). Für eine tiefe Zusammenführung verwenden Sie eine Bibliothek wie Lodash _.merge(). Dieses Tool behandelt beide Fälle ohne Code.
Was ist der Unterschied zwischen tiefer und flacher Zusammenführung?
Bei einer flachen Zusammenführung ersetzt der Wert des späteren Objekts das frühere vollständig — einschließlich verschachtelter Objekte. Bei einer tiefen Zusammenführung werden verschachtelte Objekte rekursiv kombiniert. So ergibt {"a": {"b": 1}} tief zusammengeführt mit {"a": {"c": 2}} das Ergebnis {"a": {"b": 1, "c": 2}} — beide Schlüssel bleiben erhalten.
Wie führe ich JSON-Konfigurationsdateien mit Überschreibungen zusammen?
Fügen Sie Ihre Konfigurationen als JSON-Array ein, Standardwerte zuerst und Überschreibungen zuletzt: [defaultConfig, productionConfig]. Verwenden Sie tiefe Zusammenführung, wenn Ihre Konfigurationen verschachtelte Objekte haben — so bleiben Standard-Schlüssel erhalten, während nur die Überschreibungen angewendet werden.
Wie werden Arrays in JSON-Objekten beim Zusammenführen behandelt?
Arrays werden ersetzt, nicht verkettet. Wenn Objekt A "items": [1, 2] hat und Objekt B "items": [3], hat das Ergebnis "items": [3]. Für Array-Verkettung müssten Sie das im Code behandeln.
Werden meine Daten an einen Server gesendet?
Nein. Die Zusammenführung läuft vollständig in Ihrem Browser. Ihr JSON verlässt niemals Ihr Gerät.
Verwandte Tools
Für JSON-Syntax siehe json.org und RFC 8259. Für Zusammenführen in JavaScript siehe MDN Object.assign und Spread-Syntax. Für tiefe Zusammenführung in Lodash siehe die merge-Funktion. Für den MDN-JSON-Überblick siehe auch jq und Postman.