读写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笔记之mean()函数实现求取均值的功能代码

用法:mean(matrix,axis=0)  其中 matrix为一个矩阵,axis为参数 以m * n矩阵举例: axis 不设置值,对 m*n 个数求均值,返回一个实数...

django中forms组件的使用与注意

forms组件 django框架提供了一个Form类,来进行web开发中的表单提交数据的处理工作。 导入相关模块 from django import forms from dja...

Python标准库之多进程(multiprocessing包)介绍

Python标准库之多进程(multiprocessing包)介绍

在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。 进程池 进程池 (Process Pool)...

python调用并链接MATLAB脚本详解

发现一个很简单的配置方法,一直想写的没写上,今天抽空就把它给补充完整好了。 本文的配置方法Windows,Mac和Linux系统均适合。 一.安装MATLAB Engine API fo...

python 图片验证码代码

下面是一个实战项目的结果。 复制代码 代码如下:#coding: utf-8 import Image,ImageDraw,ImageFont,os,string,random,Imag...