В файле events.json лежит JSON-текст. Как получить Python-объект из этого файла?
A
obj = json.dumps(open("events.json", "r", encoding="utf-8"))B
obj = json.loads(open("events.json", "r", encoding="utf-8"))C
with open("events.json", "r", encoding="utf-8") as f: obj = json.loads(f.read())D
with open("events.json", "w", encoding="utf-8") as f: obj = json.loads(f.read())Правильный ответ. Сначала читаем текст, затем делаем
json.loads().Разбор
json.loads() ожидает JSON-текст (строку), поэтому типичный путь: открыть файл в режиме чтения (r), прочитать содержимое через f.read(), а затем вызвать json.loads(...). Контекстный менеджер with гарантирует закрытие файла. Это помогает не перепутать «JSON-строку» и «Python-объект»: файл хранит текст, а json.loads() превращает его в структуру данных.
Проверь себя · 1/3разбор после ответа
При чтении
config.json с кириллицей на некоторых системах получаете UnicodeDecodeError. Какой вариант чтения наиболее устойчивый?Ещё вопросы по теме «Работа с файлами: JSON и CSV»
- Вы сохраняете результат анализа в файл отчёта. Что произойдёт, если выполнить `open("report.csv", "w")`, когда `report.csv` уже существует?
- Что гарантирует конструкция `with open("data.csv", "r") as f:` при чтении файла?
- Есть строка `text = '{"user_id": 7, "active": true}'`. Что вернёт `json.loads(text)`?
- Вы читаете CSV с заголовком через `csv.DictReader(f)`. Что представляет собой `row` внутри цикла `for row in csv.DictReader(f):`?
- Вы хотите дописывать строки в файл лога `errors.log`, не удаляя то, что уже записано. Как открыть файл?
- Все вопросы по «Работа с файлами: JSON и CSV» →