加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 解决json对象转换出错问题

发布时间:2020-12-17 17:49:21 所属栏目:Python 来源:网络整理
导读:对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 今天在使用 python中的json转换 碰到一个问题: 接收一个post的json字符串: s={"username":"admin","password":"password","tenantid":""} 使用python自带的json库 #
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!

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

接收一个post的json字符串:

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

使用python自带的json库

# @param python中json对象转换出错解决方法
# @author 编程之家 52php.cn|52php.cn 

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.52php.cn

出错!

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读