HTTPResponse объект - объект JSON должен быть str, а не «байтами»
Я пытался обновить небольшую библиотеку Python под названиемlibpynexmo работать с Python 3.
Я застрял на этой функции:
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.