JSON

python中json对象转换出错解决方法

字号+ 作者:H5之家 来源:H5之家 2016-12-15 11:00 我要评论( )

今天在使用python中的json转换碰到一个问题:接收一个post的json字符串:s={username:admin,password:password,tenantid:}使用py...

今天在使用python中的json转换碰到一个问题:

接收一个post的json字符串:

s={"username":"admin","password":"password","tenantid":""}

使用python自带的json库

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 >>>


出错!

百思不得其解。经过调试,最终发现,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,问题解决

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • json.dumps错误:utf8 codec cant decode byte解决方案

    json.dumps错误:utf8 codec cant decode byte解决方案

    2016-12-15 13:05

  • js对象和json对象互相转换的问题

    js对象和json对象互相转换的问题

    2016-12-15 11:00

  • urlencoded类型的请求数据(json,xml)

    urlencoded类型的请求数据(json,xml)

    2016-12-15 10:02

  • 易语言json分批解析源码

    易语言json分批解析源码

    2016-12-14 18:04

网友点评