一起学习网 一起学习网


python 读写中文json的实例详解

网络编程 python 读写中文json的实例详解 06-21

python 读写中文json的实例详解

读写中文json

想要 读写中文json ,可以使用python中的 json 库可以对json进行操作。读入数据可以使用 json.load。

f = file(path)
data = json.load(f)

json被载入到一个dict类型的object对象中。

使用 json.dump可以输出json。不过输出的文本并不是中文,而是转换为 utf-8的格式。此处需要:

output = json.dump(jsonData,targetFile,ensure_ascii=False,indent=4)

输出中文的json。通过使用 ensure_ascii=False,输出原有的语言文字。indent参数是缩进数量。

更改写文件格式

将上一步导出的 string 直接写文件会报错(可能只在Python2.7中出现):

UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-9: ordinal not in range(128) 

这是由于此处输出的一些ascii编码不支持,所以报错。

解决的办法是,在输出的时候,对文件制定特定的UTF-8编码:

import codecs
 
with codecs.open(path,'w','utf-8') as w:
  #write to w 
 

使用这种方式可以成功输出到文件。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

python生成二维码的实例详解
python生成二维码的实例详解版本相关操作系统:MacOSXEICaptionPython版本:2.7IDE:SublimeText3依赖库Python生成二维码需要的依赖库为PIL和QRcode。坑爹的是,百

Python批量更改文件名的实现方法
Python批量更改文件名的实现方法前言:由于后台数据有好多,但是文案提供过来的图片命名全部没有按照格式来命名,Python这么强大的语言,肯定是能

解决出现Incorrect integer value: '' for column 'id' at row 1的问题
解决出现Incorrectintegervalue:''forcolumn'id'atrow1的问题前言:今天在学习Python的过程中操作数据库,遇到了一个问题,执行sql语句插入数据的时候报错Incorrecti


编辑:一起学习网

标签:中文,报错,详解,实例,可以使用