json.dumps输出的中文乱码问题

name的中文被输出为unicode代码了

# 输出文件
{
  "gns": {
    "DSG": "ADM3", 
    "ADM1": "33", 
    "UNI": "9040637", 
    "UFI": "-1898270"
  }, 
  "name": "\u6e1d\u4e2d\u533a", 
  #...

解决方法

添加参数ensure_ascii=False

fo.write(json.dumps(el, indent=2, ensure_ascii=False, encoding="utf-8"))

Ref: https://stackoverflow.com/questions/18337407/saving-utf-8-texts-in-json-dumps-as-utf8-not-as-u-escape-sequence/18337754