Я делаю запрос через класс requests, вот так:
Код: Выделить всё
payload = {"offset":0,"limit":10}
headers = {'content-type': 'application/json','Accept': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
Код: Выделить всё
result = response.content
< /blockquote>
Код: Выделить всё
type(a)
Я пытаюсь получить ответ как список словарей:
Код: Выделить всё
data_list = response.json()
Код: Выделить всё
type(data_list)
И до этого момента все отлично. Проблема в том, что, хотя я, очевидно, получаю нужный мне список, код выдает следующую ошибку:
json.decoder.JSONDecodeError: Ожидаемое значение: строка 1 столбец 1 (char
0)
Если я остановлю код, чтобы отобразить содержимое рассматриваемой переменной, он не выдаст никаких ошибка, хотя «печать» находится на несколько строк ниже строки, в которой начинается ошибка. Однако, если я позволю коду работать, он сбрасывает ошибку и останавливает код.
Я пробовал другой способ, но он тоже не удался:
Код: Выделить всё
data = response.content
string_list = data.decode('utf-8','ignore')
data_list = json.loads(string_list) # Fails here with the same error
- фильтрация данных (после того, как я преобразовал их в список) и сбрасываем
его в другую переменную, а затем удаляем «проблемную» переменную. - создаем текстовый файл, сбрасываем ответ, полученный в запросе, и
затем открываем файл еще раз и работаю с данными.
Помимо самой ошибки , есть одна вещь, которую я не понимаю: я могу работать с данными (как только я получил их в виде списка), но получаю ошибку в 'json.loads()' или 'response.json( )', то есть эти строки выше в коде.
Буду благодарен за любую помощь.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -char-0-on