您的位置:首页 > 编程语言 > Python开发

python json字符串与字典对象相互转换

2017-10-23 15:55 645 查看
先看下这个实例:
#!/usr/bin/python# -*- coding:utf-8 -*-import jsonjs = json.loads('{"insun": "天下第一","name":"金刚不坏"}')
js = json.loads('{"insun": "天下第一","name":"金刚不坏"}',encoding="GBK")
print json.dumps(js)
print json.dumps(js,ensure_ascii=False)
json字符串转字典时,json.loads()默认编码为utf-8,如果指定了# -*- coding:utf-8 -*-或# coding=utf-8
则可直接转化,如果没有指定而为其他类型需要指定编码格式;
json.dumps()默认编码为ascii,如果json对象中存在中文,需要指定ensure_ascii=False,encoding="utf-8
separators=(',',':')会让字符串按json对象顺序输出字符串
另外对于中文的写入问题,如果将中文写入文件,如果出现UnicodeEncodeError: 'ascii' codec can't encode characters in position 13-16: ordinal not in range(128)是因为python默认编码是ascii,需要改变其默认编码:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: