# -*- coding: utf-8 -*- """ Created on Thu Apr 18 17:13:06 2024 @author: dh """ def merge_json(old_json, new_json): if not isinstance(old_json, dict) or not isinstance(new_json, dict): return old_json for key, value in new_json.items(): if key not in old_json: old_json[key] = value elif isinstance(value, list): if key not in old_json: old_json[key] = [] if key == "timestamps": for item in value: if item not in old_json[key]: old_json[key].append(item) else: old_json[key].extend(value) elif isinstance(value, dict): old_json[key] = merge_json(old_json.get(key, {}), value) else: old_json[key] = value return old_json # Beispielaufruf old_json = { "timestamps": ["s", "e", "r"], "data": {"foo": [1, 2, 4], "bar": [3, 4, 6]} } new_json = { "timestamps": ["r", "p"], "data": {"foo": [4,5], "bar": [6,7]} } merged_json = merge_json(old_json, new_json) print(merged_json)