# info = {
# "name": "abc",
# "age": "",
# "info": {
# "height": [1, 0, {'a': 123, 'b': 0, 'c': [], 'd': [1]}],
# "weight": " ",
# "gender": "man",
# "addr": " ",
# "tel": 123456789
# },
# "hobby": [
# 123,
# 0,
# False,
# "abx",
# True,
# {
# "basketball": True,
# "football": False
# },
# [
# 123,
# 0,
# False,
# "abx",
# True,
# {
# "basketball": True,
# "football": False
# }
# ]
# ]
# }
#
#
# def del_null_list(data):
# res = []
# for item in data:
# if isinstance(item, str) or isinstance(item, int) or isinstance(item, bool):
# if item:
# res.append(item)
# elif isinstance(item, dict):
# dict_res = del_null_dict(item)
# if dict_res:
# res.append(dict_res)
# elif isinstance(item, list):
# list_res = del_null_list(item)
# if list_res:
# res.append(list_res)
# return res
#
#
# def del_null_dict(data):
# res = {}
# for k in data:
# if isinstance(data[k], str):
# data[k] = data[k].strip()
# if data[k]:
# res[k] = data[k]
# elif isinstance(data[k], int) or isinstance(data[k], bool):
# if data[k]:
# res[k] = data[k]
# elif isinstance(data[k], dict):
# ret = del_null_dict(data[k])
# if ret:
# res[k] = ret
# elif isinstance(data[k], list):
# list_res = del_null_list(data[k])
# if list_res:
# res[k] = list_res
# return res
#
#
# def del_null(data):
# res = {}
# for k in data:
# if isinstance(data[k], str):
# data[k] = data[k].strip()
# if data[k]:
# res[k] = data[k]
# elif isinstance(data[k], int) or isinstance(data[k], bool):
# if data[k]:
# res[k] = data[k]
# elif isinstance(data[k], dict):
# dict_res = del_null_dict(data[k])
# if dict_res:
# res[k] = dict_res
# elif isinstance(data[k], list):
# list_res = del_null_list(data[k])
# if list_res:
# res[k] = list_res
# return res
#
#
# r = del_null(info)
# print(r)
info = {
"name": "abc",
"age": "",
"info": {
"height": [1, 0, {'a': 123, 'b': 0, 'c': [], 'd': [1]}],
"weight": " ",
"gender": "man",
"addr": " ",
"tel": 123456789
},
"hobby": [
123,
0,
False,
"abx",
True,
{
"basketball": True,
"football": False
},
[
123,
0,
False,
"abx",
True,
{
"basketball": True,
"football": False
}
]
]
}
def del_null_list(data):
res = []
for item in data:
if isinstance(item, str) or isinstance(item, int) or isinstance(item, bool):
if item:
res.append(item)
elif isinstance(item, dict):
dict_res = del_null_dict(item)
if dict_res:
res.append(dict_res)
elif isinstance(item, list):
list_res = del_null_list(item)
if list_res:
res.append(list_res)
return res
def del_null_dict(data):
res = {}
for k in data:
if isinstance(data[k], str):
data[k] = data[k].strip()
if data[k]:
res[k] = data[k]
elif isinstance(data[k], int) or isinstance(data[k], bool):
if data[k]:
res[k] = data[k]
elif isinstance(data[k], dict):
ret = del_null_dict(data[k])
if ret:
res[k] = ret
elif isinstance(data[k], list):
list_res = del_null_list(data[k])
if list_res:
res[k] = list_res
return res
def del_null(data):
res = {}
for k in data:
if isinstance(data[k], str):
data[k] = data[k].strip()
if data[k]:
res[k] = data[k]
elif isinstance(data[k], int) or isinstance(data[k], bool):
if data[k]:
res[k] = data[k]
elif isinstance(data[k], dict):
dict_res = del_null_dict(data[k])
if dict_res:
res[k] = dict_res
elif isinstance(data[k], list):
list_res = del_null_list(data[k])
if list_res:
res[k] = list_res
return res
r = del_null(info)
print(r)