Насколько я могу судить, предоставленный вами образец не отформатирован, если я пытаюсь декодировать только первую часть:
my_json = '{"total_count": 3, "incomplete_results": "False", "items": c "site_admin": False}'
и пытаюсь разобрать его, я получаю:
import json
json.loads(my_json, encoding='utf-8-sig')
>>> JSONDecodeError: Expecting value: line 1 column 60 (char 59)
, что относится к этим c
пропущенным кавычкам, тогда Если я исправлю это:
my_json = '{"total_count": 3, "incomplete_results": "False", "items": "c" "site_admin": False}'
print(json.loads(my_json, encoding='utf-8-sig'))
>>> JSONDecodeError: Expecting ',' delimiter: line 1 column 64 (char 63)
, которое относится к пропущенному ,
после items
ключа.После исправления:
my_json = '{"total_count": 3, "incomplete_results": "False", "items": "c", "site_admin": False}'
print(json.loads(my_json, encoding='utf-8-sig'))
>>> JSONDecodeError: Expecting value: line 1 column 79 (char 78)
, который относится к последнему False
.Это можно исправить с помощью false
или "False"
, в зависимости от типа, который вы хотите обработать.Но, учитывая, что ваш первый False рассматривается как строка:
my_json = '{"total_count": 3, "incomplete_results": "False", "items": "c", "site_admin": "False"}'
print(json.loads(my_json, encoding='utf-8-sig'))
>>> {'items': 'c', 'total_count': 3, 'site_admin': 'False', 'incomplete_results': 'False'}
И, наконец, он работает