gpt4 book ai didi

Python - 从解码的 JSON 数据中删除 "empty"值 ('[]' 和 '""')

转载 作者:行者123 更新时间:2023-12-01 09:32:27 25 4
gpt4 key购买 nike

在 Python 脚本中,我运行 json_decoded = json.load(file)这会产生以下 JSON 数据:

json_decoded = {
"data": {
"keyA": [
{
"subkeyA1": "valueA1",
"subkeyA2": "valueA2"
},
{
"subkeyA3": ""
}
],
"keyB": []
}
}

我想删除所有[]"" (“空”)键值对,因此具有:

json_decoded = {
"data": {
"keyA": [
{
"subkeyA1": "valueA1",
"subkeyA2": "valueA2"
}
]
}
}

我怎样才能拥有它?

注意:我对 Python (v2.7.3) 还很陌生。

最佳答案

可以使用递归来遍历结构:

json_decoded = {'data': {'keyA': [{'subkeyA1': 'valueA1', 'subkeyA2': 'valueA2'}, {'subkeyA3': ''}], 'keyB': []}}
def remove_empty(d):
final_dict = {}
for a, b in d.items():
if b:
if isinstance(b, dict):
final_dict[a] = remove_empty(b)
elif isinstance(b, list):
final_dict[a] = list(filter(None, [remove_empty(i) for i in b]))
else:
final_dict[a] = b
return final_dict

print(remove_empty(json_decoded))

输出:

{'data': 
{'keyA':
[{'subkeyA1': 'valueA1',
'subkeyA2': 'valueA2'}
]
}
}

关于Python - 从解码的 JSON 数据中删除 "empty"值 ('[]' 和 '""'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49848481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com