記錄自己的面試題
param_data = {"a": {"a": [None, "", {}, {"x": None}]}, "b": 0}
def value_is_not_empty(value):
return value not in ['', None, {}, []]
def empty_json_data(data):
if isinstance(data, dict):
temp_data = dict()
for key, value in data.items():
if value_is_not_empty(value):
new_value = empty_json_data(value)
if value_is_not_empty(new_value):
temp_data[key] = new_value
return None if not temp_data else temp_data
elif isinstance(data, list):
temp_data = list()
for value in data:
if value_is_not_empty(value):
new_value = empty_json_data(value)
if value_is_not_empty(new_value):
temp_data.append(new_value)
return None if not temp_data else temp_data
elif value_is_not_empty(data):
return data
data = empty_json_data(param_data)
print(data)