Python 3 で動作するように、libpynexmoという小さな Python ライブラリを更新しようとしています。
私はこの機能にこだわっています:
def send_request_json(self, request):
url = request
req = urllib.request.Request(url=url)
req.add_header('Accept', 'application/json')
try:
return json.load(urllib.request.urlopen(req))
except ValueError:
return False
これに到達すると、json は次のように応答します。
TypeError: the JSON object must be str, not 'bytes'
json.load
オブジェクト(この場合はHTTPResponse
オブジェクト)を添付して渡す必要があることをいくつかの場所で読みましたが、オブジェクト.read()
では機能しませんHTTPResponse
。
これを次にどこにしようか迷っていますが、1500 行のスクリプト全体が新たに Python 3 に変換されたので、2.7 に戻る気はありません。