python中json物件轉換出錯解決方法

高洛峰
發布: 2016-10-18 14:21:20
原創
1694 人瀏覽過

今天在使用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)

python_obj=json.loads(json_string)

python_obj=json.loads(json_string)

python_obj=json.
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!