import json import os ziel_datei = 'de.json' quelle_datei = 'en.json' neue_keys_datei = 'neue_keys.json' def lade_json(pfad): if os.path.exists(pfad): with open(pfad, 'r', encoding='utf-8') as f: return json.load(f) return {} ziel_daten = lade_json(ziel_datei) quelle_daten = lade_json(quelle_datei) neue_keys_daten = {} def merge_recursive(ziel, quelle, neu_dict): neue_keys = 0 for key, value in quelle.items(): if key not in ziel: ziel[key] = value neu_dict[key] = value neue_keys += 1 elif isinstance(value, dict) and isinstance(ziel.get(key), dict): if key not in neu_dict: neu_dict[key] = {} neue_keys += merge_recursive(ziel[key], value, neu_dict[key]) return neue_keys anzahl_neue = merge_recursive(ziel_daten, quelle_daten, neue_keys_daten) # Ziel-JSON speichern with open(ziel_datei, 'w', encoding='utf-8') as f: json.dump(ziel_daten, f, ensure_ascii=False, indent=2) # Neue Keys separat speichern with open(neue_keys_datei, 'w', encoding='utf-8') as f: json.dump(neue_keys_daten, f, ensure_ascii=False, indent=2) print(f"{anzahl_neue} neue Schlüssel wurden rekursiv hinzugefügt.") print(f"Neue Einträge wurden zusätzlich in '{neue_keys_datei}' gespeichert.")