Ошибка json.decoder.JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0) в json.loads() [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка json.decoder.JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0) в json.loads() [закрыто]

Сообщение Anonymous »

Проблема в следующем:
Я делаю запрос через класс 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
b'[{"id":12467458,"key":"119b21eabde78592944ef768", ...}]
< /blockquote>

Код: Выделить всё

type(a)


Я пытаюсь получить ответ как список словарей:

Код: Выделить всё

data_list = response.json()
[{'id': 12467458, 'key': '119b21eabde78592944ef768', ...}]

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»