Python 3.5.1。
json.decoder.JSONDecodeError:期待値:行1列1(char 0)
ここに私のコードがあります:
import json
import urllib.request
connection = urllib.request.urlopen('http://python-data.dr-chuck.net/comments_220996.json')
js = connection.read()
print(js)
info = json.loads(str(js))
print()
から受け取る出力とTracebackを見ると、返される値は文字列ではなく、バイトオブジェクト(b
で始まる)であることがわかります。 :
b'{\n "note":"This file .....
curl -v
などのツールを使用してURLを取得すると、コンテンツタイプが
Content-Type: application/json; charset=utf-8
したがって、UTF-8でエンコードされたJSONであり、Pythonは単純な文字列ではなくバイトストリームと見なしています。これを解析するには、まず文字列に変換する必要があります。
コードの最終行を次のように変更します。
info = json.loads(js.decode("utf-8"))
私の場合、 "、:" '{} [] "のようないくつかの文字がJSON形式を破壊する可能性があるため、 json.loads(str)を試してください 入力を確認するには