读写中文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
|
使用这样的方式能够成功输出到文件。
本篇博客出自阿修罗道。转载请注明出处。禁止用于商业用途:http://blog.youkuaiyun.com/fansongy/article/details/40051413