读写中文json
想要 读写中文json ,可以使用python中的 json 库可以对json进行操作。读入数据可以使用 json.load
。
1 2 3 |
f = file(path) data = json.load(f) |
json被载入到一个dict类型的object对象中。
使用 json.dump
可以输出json。不过输出的文本并不是中文,而是转换为 utf-8
的格式。此处需要:
1 2 |
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编码:
1 2 3 4 5 |
import codecs with codecs.open(path,‘w‘,‘utf-8‘) as w: #write to w |
使用这种方式可以成功输出到文件。
本文出自: blog.csdn.net/fansongy / [ 松阳的博客 ] 禁止用于商业用途 转载请注明出处
原文链接: http://www.songyang.net/python-json/
时间: 2024-12-02 07:56:36