读写json中文ASCII乱码问题的解决方法

629次阅读  |  发布于5年以前

今天要帮前端写一个小后台,就是读取数据然后转成json送给他,让他去展示。数据很简单,但是处理的时候遇到了一个问题,文件中涉及到了中文的处理,每次处理完写的json格式就是ASCII码,完全没办法用。代码如下:


    # -*- coding: utf-8 -*-
    import json
    import codecs

    f = codecs.open('data.txt', 'r', 'utf-8')
    content = json.load(f)
    print content[0]['id']
    jsdata = json.dumps(content, sort_keys=True, indent=4)
    f.close()


    j = codecs.open('test.json', 'w')
    j.write(jsdata)
    j.close()

网上查了一下,修改后的代码如下:


    # -*- coding: utf-8 -*-
    import json
    import sys
    reload(sys)
    sys.setdefaultencoding( "utf-8" )

    f = open('data.txt', 'r')
    content = json.load(f)
    print content[0]['id']
    # 拼接json数据,转码为非ascii编码
    jsdata = json.dumps(content, sort_keys=True, indent=4, ensure_ascii=False)
    f.close()


    j = open('test.json', 'w')
    j.write(jsdata)
    j.close()

以上这篇读写json中文ASCII乱码问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8