⚡ Минимальный пример
import json
from datetime import datetime
print(json.dumps({"now": datetime.now().isoformat()}, indent=2))
Пример 1. Сериализация и десериализация
# json_01_basic.py
import json
data = {"name": "Alice", "age": 25, "is_student": False}
json_string = json.dumps(data, ensure_ascii=False, indent=2)
print(json_string)
loaded = json.loads(json_string)
print(loaded["name"]) # Alice
Пример 2. Запись и чтение файла
# json_02_file.py
import json
from pathlib import Path
data = {"city": "Berlin", "temperature": 22.5}
Path("weather.json").write_text(
json.dumps(data, ensure_ascii=False, indent=2),
encoding="utf-8"
)
loaded = json.loads(Path("weather.json").read_text(encoding="utf-8"))
print(loaded)
Path("weather.json").unlink()
Пример 3. Обработка ошибки JSON
# json_03_error.py
import json
invalid = '{"name": "Alice", "age": 25,}' # лишняя запятая
try:
data = json.loads(invalid)
except json.JSONDecodeError as e:
print(f"Ошибка: {e}")
Пример 4. datetime
# datetime_01_basic.py
from datetime import datetime, timedelta
now = datetime.now()
print(now.strftime("%d.%m.%Y %H:%M:%S"))
deadline = datetime.strptime("01.12.2025", "%d.%m.%Y")
print(deadline)
difference = deadline - now
print(difference.days)
Пример 5. timedelta
# datetime_02_timedelta.py
from datetime import datetime, timedelta
start = datetime(2025, 6, 15)
end = start + timedelta(days=14)
print(end.strftime("%Y-%m-%d"))