Witam,
Chcę usunąć niektóre klucza w zagnieżdżonym jsonie wraz z elementami pokrewnymi:
Tutaj jest funkcja:
def get_all(myjson, key, lista):
if type(myjson) == str:
myjson = json.loads(myjson)
if type(myjson) is dict:
for jsonkey in list(myjson):
if type(myjson[jsonkey]) in (list, dict):
get_all(myjson[jsonkey], key, lista)
elif jsonkey == key:
if myjson["id"] == "6":
del myjson["date_added"]
del myjson["id"]
del myjson["meta_info"]
del myjson["name"]
del myjson["type"]
del myjson["url"]
elif type(myjson) is list:
for item in myjson:
if type(item) in (list, dict):
get_all(item, key, lista)
return myjson
lista_linkow = get_all(data, 'url', lista)
Tutaj jest input jsona(plik wejściowy)
https://pastebin.com/5Fxcz0qk
Tutaj przesyłam output jsona:
To co zostaje wyplute z funkcji.
https://pastebin.com/J4RFqENC
Gdy warunek jest spełniony, to chcę usunąć całe drzewo(począwszy od klucza date_added do url).
Ale wynikiem końcowym jest rozwalony json
Nie wiem czemu, ale są dodane rzeczy tam.
PS. Parametr z listą nic nie robi