python中的 json 库可以很方便地将字典对象写入到文件中,或者从文件中直接读取成为字典对象。
但是如果字典中有中文数据(或者其它 非ascii字符),写入的时候会被强行转义,比如下面的代码:
import json
dict_zh = {
'键': '值',
'多重字典': {
'name': 'can',
'city': 'Canton'
}
}
with open("json/test.json", 'w+') as f1:
json.dump(dict_zh, f1)
写入到test.json文件的实际内容会是这样的:
{"\u952e": "\u503c", "\u591a\u91cd\u5b57\u5178": {"name": "can", "city": "Canton"}}
其中的中文字符都被转义了,转义方式等同于:
print("键".encode("unicode_escape"))
上面这行的输出为:
b'\\u952e&#