Назад к вопросам
Junior
199
questionbank
Какие различия между функциями json.dumps и json.dump, а также json.loads и json.load?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
json.dumps (то s в конце означает string) преобразует Python-объект в строку в формате JSON.
json.dump преобразует Python-объект в строку в формате JSON и записывает ее в файлоподобный объект (например, файл) по указанному пути.
import json
data = {'name': 'Alice', 'age': 30}
# json.dumps
json_string = json.dumps(data, indent=4) # Преобразует объект в строку
print(json_string)
# json.dump
with open('output.json', 'w') as f:
json.dump(data, f, indent=4) # Записывает объект в файл
json.loads (опять же, s означает string) преобразует строку в формате JSON обратно в Python-объект.
json.load считывает данные из файлоподобного объекта (например, файла) в формате JSON и преобразует их обратно в Python-объект.
import json
json_string = '{"name": "Bob", "age": 25}'
# json.loads
python_object_from_string = json.loads(json_string) # Преобразует строку в объект
print(python_object_from_string)
# json.load
with open('input.json', 'r') as f:
python_object_from_file = json.load(f) # Считывает из файла и преобразует
print(python_object_from_file)
Сводная таблица различий:
| Функция | Входные данные | Выходные данные | Основное назначение |
|---|---|---|---|
json.dumps |
Python-объект | Строка (JSON формат) | Преобразование объекта в строку для передачи/хранения |
json.dump |
Python-объект | Запись в файловый объект | Преобразование объекта и запись его в файл |
json.loads |
Строка (JSON формат) | Python-объект | Анализ строки и преобразование ее в объект |
json.load |
Файловый объект | Python-объект | Считывание из файла и преобразование в объект |