Eingabe (Array von JSON-Objekten)

Zusammengeführte Ausgabe

Was ist JSON Merge?

JSON zusammenführen bedeutet, zwei oder mehr Objekte zu einem zu kombinieren. Bei einer flachen Zusammenführung überschreiben spätere Objekte frühere für Schlüssel, die in beiden existieren. Bei einer tiefen Zusammenführung werden verschachtelte Objekte rekursiv zusammengeführt statt ersetzt. Das ist nützlich beim Zusammenführen von Konfigurationsdateien, Kombinieren von API-Antworten oder Erstellen von Objekten aus Standardwerten und Überschreibungen.

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

1

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.

2

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.

3

Kopieren oder Herunterladen

Verwenden Sie <strong>Kopieren</strong> oder <strong>Herunterladen</strong>, 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 <code>default.json</code> und <code>production.json</code>; 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):

Eingabe

Zusammengeführte Ausgabe:

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

Was ist, wenn ich zwei separate Objekte habe, kein Array?

Wickeln Sie sie in ein Array: [{"a": 1}, {"b": 2}]. Das Tool erwartet ein Array von Objekten.

Wie werden Arrays behandelt?

In den meisten Merge-Implementierungen werden Arrays ersetzt, nicht verkettet. Wenn Objekt A "items": [1, 2] hat und Objekt B "items": [3], hat das Ergebnis typischerweise "items": [3]. Prüfen Sie die Ausgabe des Tools zur Bestätigung.

Werden meine Daten irgendwohin gesendet?

Nein. Die Zusammenführung erfolgt in Ihrem Browser.

Kann ich Konfigurationsdateien zusammenführen?

Ja. Fügen Sie jede Konfiguration als Objekt im Array ein, mit Standardwerten zuerst und Überschreibungen zuletzt. Tiefe Zusammenführung ist meist besser für verschachtelte Konfigurationsstrukturen.

Was ist mit doppelten Schlüsseln im selben Objekt?

JSON-Objekte können keine doppelten Schlüssel haben. Wenn Sie welche haben, behält der Parser nur einen. Validieren Sie zuerst mit dem JSON Validator.

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.