读写中文json
想要 读写中文json ,可以使用python中的 json 库可以对json进行操作。读入数据可以使用 json.load。
1
2
|
f = file (path)
data = json.load(f)
|
json被载入到一个dict类型的object对象中。
使用 json.dump可以输出json。不过输出的文本并不是中文,而是转换为 utf-8的格式。此处需要:
1
|
output = json.dump(jsonData,targetFile,ensure_ascii = False ,indent = 4 )
|
输出中文的json。通过使用 ensure_ascii=False,输出原有的语言文字。indent参数是缩进数量。
更改写文件格式
将上一步导出的 string 直接写文件会报错(可能只在Python2.7中出现):
1
|
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-9: ordinal not in range(128)
|
这是由于此处输出的一些ascii编码不支持,所以报错。
解决的办法是,在输出的时候,对文件制定特定的UTF-8编码:
1
2
3
4
5
|
import codecs
with codecs. open (path, 'w' , 'utf-8' ) as w:
#write to w
|
使用这种方式可以成功输出到文件。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/fansongy/article/details/40051413