我目前正在这样做,将JSON保存到文件中:
with open(filename, 'w+') as f:
json.dump(data, f)
我这样做是为了将JSON从文件加载到Python字典中:
with open(filename, 'r') as f:
data = json.loads(json.load(f))
我了解这是json.load
从文件json.loads
加载JSON并从字符串加载JSON。
当我调用json.load(f)
从文件加载JSON时,我得到JSON对象的字符串表示形式:
'{"a": 1,"b": 2,"c": 3}'
然后json.loads(json.load(f))
,我调用将字符串表示形式转换为Python字典:
{'a': 1, 'b': 2, 'c': 3}
我了解我也可以使用ast.literal_eval()
将字符串转换为Python字典。
我的问题是-将JSON从文件目录加载到Python字典中的正确方法是什么?真的有必要同时调用两者json.loads
并将json.load
JSON从文件导入字典吗?
首先,您data
必须已经是JSON字符串,然后在期间对其进行了双重编码json.dump
。然后,当然您需要稍后对其进行双解码。因此,与其将原始JSON再次用JSON编码,不如按原样将其写入文件中:
with open(filename, 'w+') as f:
f.write(data)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句