Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Взаимодействие с JSON является частым делом при работе с Python, особенно в веб-разработке. Часто возникает необходимость преобразовать словарь Python в формат JSON или наоборот. Это можно сделать с помощью встроенной библиотеки json
.
Однако, может возникнуть проблема при попытке обратиться к данным в JSON, преобразованным из словаря. Рассмотрим пример:
import json data = {'key': 'value'} json_data = json.dumps(data) print(json_data['key'])
Здесь код пытается обратиться к значению по ключу в JSON, однако вместо этого возникает ошибка: TypeError: string indices must be integers, not str
. Это происходит потому, что json.dumps()
преобразует словарь в строку, а не в JSON. В результате, при попытке обратиться к элементу по ключу, интерпретатор Python считает, что обращение идет к индексу строки, а не к ключу словаря.
Чтобы избежать этой ошибки, необходимо преобразовывать JSON обратно в словарь после его создания. Это можно сделать с помощью метода json.loads()
.
import json data = {'key': 'value'} json_data = json.dumps(data) data = json.loads(json_data) print(data['key'])
В этом примере, после преобразования словаря в JSON, он снова преобразуется обратно в словарь перед тем, как обращаться к его элементам. В результате, код работает корректно и выводит нужное значение по ключу.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий