-3

JSON リクエストをチェックするための自動テストを作成しようとしています。したがって、次のコードを実行すると、トレースバック エラーが発生します。

json1=query_link1.json
json2 = json.loads(json1)

例外:

Traceback (most recent call last):
  File "Productapicheck.py", line 45, in <module>
    query_product_api()
  File "Productapicheck.py", line 34, in query_product_api
    json2 = json.loads(json1)
  File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
4

1 に答える 1

2

query_link1.jsonがファイルのようなオブジェクトの場合は、json.load()代わりに関数を使用する必要があります。

.loads()(s最後に) は文字列を渡す必要があり、文字列でquery_link1.jsonはありません

requestsライブラリを使用している場合、応答で値をデコードする必要はありません。その属性にアクセスすると、ライブラリによって自動的にデコードされます。.json

于 2012-12-07T15:52:31.577 に答える