Sobes.tech
Junior
714

Какви са разликите между функциите json.dumps и json.dump, както и json.loads и json.load?

Отговор от AI

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 обект Четене от файл и преобразуване в обект