Ошибка Python 3.6 TypeError: the JSON object must be str, bytes or bytearray, not ‘list’

538 просмотра
0
0 Комментариев

Решил попробовать работу с VK API, нашел простой пример авторизации и запроса.

Пошел смотреть как парсить JSON, получился приблизительно такой код:

import vk, json
session = vk.Session(access_token='...')
api = vk.API(session)
findstr=api.users.search(q='Иван Иванов',sort=0,offset=0,count=10)
parsed_string = json.loads(findstr)
print(findstr)

Запустил, увидел такую ошибку

TypeError: the JSON object must be str, bytes or bytearray, not 'list'

Как можно решить проблему?


Добавить комментарий

1 Ответы

Python Опубликовано 16.12.2018
0

parsed_string = json.loads(findstr)

У вас результат из findstr это список, а не объект JSON. Распечатайте список, проверьте содержимое. Если там есть JSON, то вы точно увидите его, так как он практически копия Python словаря типа {«Ключ»: «Значение»} и как раз таки JSON такого вида нужно декодировать. Возможно ваш findstr имеет вид [{«Ключ»: «Значение»}], а значит нужно просто «вытащить» JSON объект оттуда и уже потом делать его json.loads(Извлеченный_Из_Списка_Объект).

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up