Назад к вопросам
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-объект Считывание из файла и преобразование в объект