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