PythonでのJSONオブジェクト変換エラーの解決策

高洛峰
リリース: 2016-10-18 14:21:20
オリジナル
1748 人が閲覧しました

今日、Python で JSON 変換を使用しているときに問題が発生しました:

投稿の 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、問題は解決しました


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート