/
PetrovSA
/
python-dev-course
Обзор
Документация
Войти
/
PetrovSA
/
python-dev-course
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Part 8 - FastAPI/L15/helpers.py
21 строка
1011 B
PetrovSerega
Update L15
17 июн 2026, 17:09
17 июн 2026, 17:09
dc687cf
Код
Авторство
О чём код?
import json def pretty(data, indent=4) -> str: """Превращает словари, списки (Pydantic ошибки) или JSON-строки в красивый текст.""" # 1. Если на вход пришла строка, проверяем, не JSON ли это (словарь или список) if isinstance(data, str): stripped = data.strip() if (stripped.startswith("{") and stripped.endswith("}")) or ( stripped.startswith("[") and stripped.endswith("]") ): try: data = json.loads(stripped) except json.JSONDecodeError: return data # Возвращаем как обычную строку, если парсинг сорвался # 2. Если это словарь ИЛИ список (теперь обрабатываем оба типа) if isinstance(data, (dict, list)): return json.dumps(data, indent=indent, ensure_ascii=False) return str(data)