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

yipeiwu_com6年前Python基础

今天要帮前端写一个小后台,就是读取数据然后转成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乱码问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python表示矩阵的方法分析

Python表示矩阵的方法分析

本文实例讲述了Python表示矩阵的方法。分享给大家供大家参考,具体如下: 在c语言中,表示个“整型3行4列”的矩阵,可以这样声明:int  a[3][4];在python中一...

Python动态加载模块的3种方法

1、使用系统函数__import_() 复制代码 代码如下: stringmodule = __import__('string') 2、使用imp 模块 复制代码 代码如下: imp...

python利用matplotlib库绘制饼图的方法示例

python利用matplotlib库绘制饼图的方法示例

介绍 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。...

DJANGO-ALLAUTH社交用户系统的安装配置

DJANGO-ALLAUTH是github上面排名较高的django user系统.本来通过对比是想选用django-userea的,可是博主智商不够看懂它的安装配置文档.....搞乱了...

Anaconda 离线安装 python 包的操作方法

Anaconda 离线安装 python 包的操作方法

因为有时直接使用pip install在线安装 Python 库下载速度非常慢,所以这里介绍使用 Anaconda 离线安装 Python 库的方法。 这里以安装 pyspark 这个库...