我有一个二维json,它看起来像这样:
a = [
{
"photo": null,
....
"webUrl": null,
"createdByUser": null,
"lastModifiedByUser": null,
"id": "154854566458484754...."
},
{
"photo": null,
....
"webUrl": null,
"createdByUser": null,
"lastModifiedByUser": null,
"id": "154854566458484000...."
},
]
如何在python的帮助下删除所有空值?
对于一维Json,我像这样得到:
filtered_data = {}
for key, value in data.items():
if value != None:
filtered_data[key] = value
但是对于二维Json Json,我写得不太对
filtered_data = {}
list = []
i = 0
length = len(data)
for i in range(0, length):
for key, value in data[i].items():
if value != None and key != '@odata.type':
filtered_data[key] = value
list.append(filtered_data)
return list
得到json
最后一项的数倍如何在python的帮助下删除所有空值?
思路是扫描数据并收集not None
值。试试下面的
import json
json_str = '''[
{
"photo": null,
"webUrl": null,
"createdByUser": null,
"lastModifiedByUser": null,
"id": "154854566458484754...."
},
{
"photo": null,
"webUrl": null,
"createdByUser": null,
"lastModifiedByUser": null,
"id": "154854566458484000...."
}
]'''
data = json.loads(json_str)
new_data = []
for entry in data:
new_data.append({})
for k, v in entry.items():
if v is not None:
new_data[-1][k] = v
print(new_data)
输出[{'id': '154854566458484754....'}, {'id': '154854566458484000....'}]