Привет, ребята, поэтому я пытаюсь прочитать файл Json и записать определенный элемент в список. Но файл json находится в одинарных кавычках, поэтому я получаю сообщение об ошибке.
simplejson.errors.JSONDecodeError: Ожидается имя свойства, заключенное в двойные кавычки: строка 1, столбец 2 (символ 1)
Я пытался преобразовать файл json из одинарных кавычек в двойные, но это не сработало (я также видел другие вопросы об стеке потока, но у меня это не сработало). Потому что я попробовал это с str.replace. или json dumps и т. д. И это всегда было другой проблемой. Мой код такой:
messages = []
with open("commitsJson.json","r", encoding="utf8") as json_file:
data = json.load(json_file)
for p in data['items']:
messages.append(p['message'])
authors.write(p['message']+"\r\n")
print(p['message'])
Таким образом, ожидаемый результат - прочитать файл json и записать его отдельные элементы в файл или список и т. Д. *
EDIT:
Образец файла JSON:
{'total_count': 3, 'incomplete_results': False, 'items': [{'url': 'https://gits-20.bkf.sda.eu/api/v3/repos/repo/name/commits/2189312903jsadada',
'sha': '2131932103812jdskfsl', 'node_id': 'asl;dkas;ldjasldasio1203',
'html_url': 'https://gits-20.bkf.sda.eu/api/v3/repos/repo/name/commits/2189312903jsadada',
'comments_url': 'https://gits-20.bkf.sda.eu/api/v3/repos/repo/name/commits/2189312903jsadada',
'commit': {'url': 'https://gits-20.bkf.sda.eu/api/v3/repos/repo/name/commits/2189312903jsadada', 'message': 'Initial commit 1'
Нечто подобное. В основном ответ github api, но с одинарными кавычками вместо двойных ...
Желательным выводом будет получение элементов 'message' из всех файлов json в другой файл, например:
Initial commit 1
Initial commit 2
Initial commit 3
Initial commit 4
Initial commit 5
Initial commit 6
Initial commit 7
....
ОШИБКА: