python 解决json对象转换出错问题
内容摘要
这篇文章主要为大家详细介绍了python 解决json对象转换出错问题,具有一定的参考价值,可以用来参考一下。
对python这个高级语言对此感兴趣的朋友,看看idc笔记做的技术笔记!
今
对python这个高级语言对此感兴趣的朋友,看看idc笔记做的技术笔记!
今
文章正文
这篇文章主要为大家详细介绍了python 解决json对象转换出错问题,具有一定的参考价值,可以用来参考一下。
对python这个高级语言对此感兴趣的朋友,看看idc笔记做的技术笔记!今天在使用python中的json转换碰到一个问题:
接收一个post的json字符串:
s={"username":"admin","password":"password","tenantid":""}
使用python自带的json库
# @param python中json对象转换出错解决方法
# @author php教程|512pic.com
import json
>>> a=json.loads(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
>>>
# End www_512pic_com
出错!
百思不得其解。经过调试,最终发现,python中默认使用单引号表示字符串"'"
所以当,用字符串符值以后,python会把双引号转换为单引号
>>> s={"username":"admin","password":"password","tenantid":""}
>>> print s
{'username': 'admin', 'password': 'password', 'tenantid': ''}
而json是不支持单引号的。
可以用下面的方法转换
json_string=json.dumps(s)
python_obj=json.loads(json_string)
ok,问题解决
注:关于python 解决json对象转换出错问题的内容就先介绍到这里,更多相关文章的可以留意
代码注释