Как разобрать jsonp, возвращенный из API, используя python - PullRequest
0 голосов
/ 29 апреля 2020

Я очень новичок в кодировании, и я создаю свое первое веб-приложение, используя открытый REST API с python flask. Я думаю, что API возвращает jsonp, который выглядит так - callbackfunction {json}; и я получаю из других сообщений, что все, что мне нужно сделать, это избавиться от этого заполнения. Однако я не могу понять, в какой момент я должен осуществить зачистку.

Это мой код. 5-я строка выдает ошибку «объект JSON должен быть str, байтами или байтовым массивом, а не HTTPResponse»

def lookup(title):
    try:
        url = "http://www.aladin.co.kr/ttb/api/ItemSearch.aspx?ttbkey=foo&Query=bar"
        result = urllib.request.urlopen(url)
        data = json.loads(result)
        data_json = data.split("{", 1)[1].strip("}")
        return data_json

    except requests.RequestException:
        return None

Я уверен, что он работает хорошо до 4-й строки. Когда я попробовал приведенный ниже код, по крайней мере, он вернул результат, хотя crypti c, вот так.

b '{"version": "20070901", "title": "\ xec \ x95 \ x8c \ xeb \ x9d \ xbc \ xeb \ x94 \ x98 \ xea \ xb2 \ x80. .. "customerReviewRank": 9}]}; '

Судя по ключам, я почти уверен, что это запрошенная информация. Так что я могу сделать, чтобы это исправить? Заранее спасибо !

def lookup(title):
    try:
        url = "http://www.aladin.co.kr/ttb/api/ItemSearch.aspx?ttbkey=foo&Query=bar"
        result = urllib.request.urlopen(url)
        res = result.readline()
        return res

...