Когда нужен этот конвертер
Когда вы получаете JSON — от внешнего API, документации, тестового сервера — нужно быстро описать его на типизированном языке для проекта. Ручное описание десятка вложенных полей — это 30–60 минут работы и риск опечаток. Автоматическая генерация — 5 секунд.
Strong typing of API responses prevents whole categories of runtime errors and makes refactoring safe.— TypeScript Handbook
Четыре поддерживаемых языка
- TypeScript — для frontend (React, Vue, Angular) и Node.js серверов. Использует
interfaceс native-типами. - Python (Pydantic) — для FastAPI, валидации в data-pipelines. Использует
BaseModelс типами из typing. - Go — для микросервисов и API. Использует
structс json-тегами для энкодинга/декодинга. - Rust — для систем с высокими требованиями к производительности. Использует
serdeдля сериализации иchronoдля дат.
Что умеет
- Вложенные объекты — рекурсивное создание дочерних типов.
- Массивы — определение типа элемента из первого элемента.
- ISO-8601 даты — автораспознавание и преобразование в datetime / time.Time / DateTime<Utc>.
- Snake_case ↔ camelCase для Rust — автоматический
#[serde(rename)]. - PascalCase для имён типов.
- TypeScript Handbook — Object Types. Microsoft. typescriptlang.org/docs/handbook/2/objects.html. обновляется.
- Pydantic v2 Documentation. Samuel Colvin. docs.pydantic.dev. обновляется.
- Go — Encoding JSON. Andrew Gerrand. go.dev/blog/json. обновляется.
- Rust serde — Field attributes. David Tolnay. serde.rs/field-attrs.html. обновляется.
