Python usunięcie klucza w jsonie

Python usunięcie klucza w jsonie
HU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Witam,

Chcę usunąć niektóre klucza w zagnieżdżonym jsonie wraz z elementami pokrewnymi:
Tutaj jest funkcja:

Kopiuj
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

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

Usuwasz wartosci wewnatrz slownika a nie caly slownik dlatego zostaja ci puste slowniki zamiast usuwac wszystko wewntarz zrob

Kopiuj
if myjson["id"] == "6":
del myjson

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.