我正在使用第三方API,它为我提供了JSON响应。
样本回复是
{
"peopleList":[
{
"name":"Jack",
"age":26,
"creditcard":"12335435345"
},
{
"name":"Arya",
"age":22,
"creditcard":""
},
{
"name":"Rob",
"age":16,
"creditcard":""
}
],
"responseTime":0.02,
"error":""
}
此处empty string
用于表示No Value
,我认为应该是空的。{。}
如何使用python将所有空字符串的值替换为null?
修改
我正在使用django将JSON提供给我在Swift中的ios App。因此,尽管python中的空字符串是false,但它并不是很快。
甚至更好。如何删除所有空字符串的键?
注意:JSON的结构未知。
答案 0 :(得分:3)
data = json.loads(**your raw json string**)
nullify(data)
def nullify(container) :
for key in container:
if type(key) == list:
nullify(key)
elif type(key) == dict:
nullify(key)
elif type(container[key]) == dict or type(container[key]) == list:
nullify(container[key])
elif container[key] == '':
container[key] = None
我相信这对你有用。此外,python中没有null
。相反,您可以使用None
。
****** ****** EDIT
要完全删除密钥,您必须使用container.pop(key,None)
。但是你不能在迭代中进行,所以你必须将所有这些键存储在一个列表中,然后从字典中弹出它们。