看了很多网上的方法,写入文件后打开文件看确实不再是乱码,但是从文件中读入json时发现了乱码,可能是读文件默认的编码格式不对。下面读写方法可行。

注意,ensure_ascii=False可以保证不会以ascii格式编码,保证中文的正常转换:

import json
with open('test.json', 'w', encoding='utf-8') as f:
  f.write(
    json.dumps(
      known_dict,
      indent=4,
      ensure_ascii=False))

注意,打开文件也要以utf-8格式打开!

import json
path = "test.json"
with open(path, 'r', encoding='utf-8') as f:
  Info = json.load(f)

总结