JSON в сущности на нескольких языках

Локальная обработка
app.codegen.view

Данные также можно передать через #data={"name":"Ada"} или #url=... После чтения параметры сразу удаляются из адресной строки.

Вставьте пример JSON: по вложенной структуре генерируются типы или классы сущностей на TypeScript, Go, Java и других языках. Подходит процессу «сначала API, потом модель». Язык переключается в списке рабочей области — по тем же данным код пересобирается.

Вывод типов

По значениям предполагаются string / number / boolean / array / object. Вложенные объекты выделяются в отдельные типы, меньше any.

Пустые массивы, null и смешанные формы в одном массиве нужно подтвердить вручную.

Разбиение вложенности на классы

Глубокие объекты обычно становятся отдельными типами, а не одним any. Результат — каркас: переименуйте по правилам команды.

20 языков покрывают типичный бэкенд и клиент — не нужно искать отдельный сайт под каждый язык.

Всё равно просмотрите глазами

null и массивы смешанных типов нужно проверить. Даты, суммы и перечисления по одному примеру точно не вывести.

Сгенерированный код на сервер не отправляется.

Пример

Пример JSON
{
  "id": 1,
  "title": "hello",
  "tags": ["json", "tools"]
}
Возможный TypeScript
interface Root {
  id: number
  title: string
  tags: string[]
}
Какие языки поддерживаются?

TypeScript, Java, Go, Python, C#, Rust, Kotlin, Swift и другие — всего 20, переключение в рабочей области.

Отправляется ли код на сервер?

Нет. Вывод типов и раскрытие шаблонов выполняются в браузере.

Это продакшен-модели?

Считайте черновиком. Нужно добавить проверки, аннотации сериализации, необязательные поля и стиль именования команды.

Что если имя поля недопустимо?

По возможности оно станет допустимым идентификатором целевого языка. Конфликт с ключевым словом исправьте вручную.

Рекомендуемый процесс

  1. Подготовьте пример JSON с полным набором полей (включая вложенность и массивы).
  2. Сначала посмотрите TypeScript, затем переключитесь на язык, который используете.
  3. Скопируйте в проект и дополните пустые значения, даты и перечисления.
  4. После смены API сравните примеры в Diff и заново сгенерируйте только конфликтный уровень.

Генератор не знает, что «это число на самом деле сумма». Смысл должен добавить человек — не принимайте черновик за контракт.