我目前这样做是为了将 JSON 保存到文件中:
with open(filename, 'w+') as f:
json.dump(data, f)
Run Code Online (Sandbox Code Playgroud)
我这样做是为了将文件中的 JSON 加载到 Python 字典中:
with open(filename, 'r') as f:
data = json.loads(json.load(f))
Run Code Online (Sandbox Code Playgroud)
我知道json.load从文件json.loads加载 JSON 并从字符串加载 JSON。
当我调用json.load(f)从文件加载 JSON 时,我得到了 JSON 对象的字符串表示:
'{"a": 1,"b": 2,"c": 3}'
Run Code Online (Sandbox Code Playgroud)
然后我调用json.loads(json.load(f))将该字符串表示形式转换为 Python 字典:
{'a': 1, 'b': 2, 'c': 3}
Run Code Online (Sandbox Code Playgroud)
我知道我也可以ast.literal_eval()用来将字符串转换为 Python 字典。
我的问题是 - 将 JSON 从文件目录加载到 Python 字典的正确方法是什么?是否真的有必要同时调用两者json.loads并将json.loadJSON 从文件中获取到字典中?