💻 Примеры JSON и datetime

⚡ Минимальный пример

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"))