Zum Inhalt springen
🛠️ToolsShed

JSON-Zusammenführungs-Tool

Führt mehrere JSON-Objekte mit Konfliktlösungsoptionen tief zusammen.

JSON-Objekt #1
JSON-Objekt #2

Über dieses Tool

Das JSON-Merge-Tool kombiniert mehrere JSON-Objekte in einer einzigen einheitlichen Struktur mithilfe von Deep Merging, was bedeutet, dass verschachtelte Objekte und Arrays intelligenterweise kombiniert werden, anstatt einfach überschrieben zu werden. Dies ist für Entwickler, die mit Konfigurationsdateien, API-Antworten oder Datenaggregations-Workflows arbeiten, unverzichtbar, wenn Sie Daten aus verschiedenen Quellen kombinieren müssen und dabei aussagekräftige Informationen aus jeder Eingabe bewahren möchten.

Um das Tool zu verwenden, fügen Sie Ihre JSON-Objekte in die Eingabefelder ein, wählen Sie Ihre bevorzugte Merge-Strategie (z. B. Überschreiben, Array-Verkettung oder Deep Merge) und klicken Sie auf die Schaltfläche Merge. Das Tool verarbeitet verschachtelte Strukturen automatisch und löst Konflikte nach Ihrer gewählten Strategie. Häufige Anwendungsfälle sind das Zusammenführen von Umgebungskonfigurationen, das Kombinieren von API-Payloads, das Konsolidieren von Einstellungen aus mehreren Diensten sowie die Integration von Test-Fixtures oder Mock-Daten.

Das Tool funktioniert vollständig in Ihrem Browser, daher verlassen Ihre JSON-Daten niemals Ihren Computer, was es auch für vertrauliche Konfigurationen sicher macht. Beachten Sie, dass das Merge-Verhalten von Ihrer gewählten Strategie abhängt—verstehen Sie, ob Sie verschachtelte Objekte kombinieren, Arrays anfügen oder Werte ersetzen möchten, um das genaue Ergebnis zu erzielen, das Sie benötigen.

Häufig gestellte Fragen

Code-Implementierung

import json
from copy import deepcopy

def deep_merge(base: dict, override: dict, strategy: str = "last_wins") -> dict:
    """
    Deep merge two dicts.
    strategy: 'last_wins' | 'first_wins' | 'array_concat'
    """
    result = deepcopy(base)
    for key, value in override.items():
        if key in result:
            if isinstance(result[key], dict) and isinstance(value, dict):
                result[key] = deep_merge(result[key], value, strategy)
            elif isinstance(result[key], list) and isinstance(value, list) and strategy == "array_concat":
                result[key] = result[key] + value
            else:
                if strategy != "first_wins":
                    result[key] = deepcopy(value)
        else:
            result[key] = deepcopy(value)
    return result

# Example
a = {"name": "Alice", "scores": [1, 2], "meta": {"v": 1}}
b = {"name": "Bob",   "scores": [3, 4], "meta": {"v": 2, "new": True}}

print(json.dumps(deep_merge(a, b, "last_wins"),   indent=2))
print(json.dumps(deep_merge(a, b, "first_wins"),  indent=2))
print(json.dumps(deep_merge(a, b, "array_concat"),indent=2))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.