我一直试图在下面替换JSON字典中的None值。我将如何遍历这个json,并替换" None"空字符串的值?我很难理解如何遍历嵌套的json。如果有人可以帮助我,我会很高兴。示例嵌套json如下。 或者有一种方法可以在使用" get"时替换值(例如从None到空字符串)。请求python中的Requests库?
{
'house':{
'amount':'$0.00',
'id':1,
'value':0.0
},
'event':'12.199.136.146',
'location':'',
'language':{
'language_name':'English',
'language_id':1,
'language_symbol':None
},
'percentage':1.0,
'identification':'',
'source':{
'name':'john',
'id':-1
},
'paid':{
'amount':'$0.00',
'format':1,
'value':0.0
},
'score':None
}
答案 0 :(得分:2)
import json
r = json.dumps(j).replace('null', '""')
json.loads(r)
出:
{'event': '12.199.136.146',
'house': {'amount': '$0.00', 'id': 1, 'value': 0.0},
'identification': '',
'language': {'language_id': 1,
'language_name': 'English',
'language_symbol': ''},
'location': '',
'paid': {'amount': '$0.00', 'format': 1, 'value': 0.0},
'percentage': 1.0,
'score': '',
'source': {'id': -1, 'name': 'john'}}
将其转换为字符串并将null(string)
替换为""
,并将其加载回python dict
答案 1 :(得分:0)
试一试:
#!/usr/bin/python3
import json
from pprint import pprint
jstr = {
'house':{
'amount':'$0.00',
'id':1,
'value':0.0
},
'event':'12.199.136.146',
'location':'',
'language':{
'language_name':'English',
'language_id':1,
'language_symbol':None
},
'percentage':1.0,
'identification':'',
'source':{
'name':'john',
'id':-1
},
'paid':{
'amount':'$0.00',
'format':1,
'value':0.0
},
'score':None
}
data_str = json.dumps(jstr)
data = json.loads(data_str)
pprint(data)
def replaceNone(data_dict,v,rv):
for key in data_dict.keys():
if data_dict[key] == v:
data_dict[key] = rv
elif type(data_dict[key]) is dict:
replaceNone(data_dict[key],v,rv)
replaceNone(data,None,"")
pprint(data)