d = [{
"key1": "value1",
"key2": {
"key3": "value3",
"key4": "NULL",
"z": {
"z1": "NULL",
"z2": "zzz",
},
},
"key5": "NULL"
}, {
"KEY": "NULL",
"AAA": "BBB",
}]
for element in list(d):
for key, value in element.copy().items():
if value == "NULL":
element.pop(key, None)
elif isinstance(value, dict):
for inner_key, inner_value in value.copy().items():
if inner_value == "NULL":
value.pop(inner_key, None)
elif isinstance(inner_value, dict):
for nested_inner_key, nested_inner_value in inner_value.copy().items():
if nested_inner_value == "NULL":
inner_value.pop(nested_inner_key, None)
print(d)