Как пользоваться
- Вставьте пример JSON, например ответ API, в левое поле.
- Выберите целевой язык и при желании имя корневого типа.
- Нажмите «Преобразовать». Вложенные объекты станут отдельными типами.
- Скопируйте код или скачайте его как исходный файл.
Писать модели вручную для каждого ответа API долго, и легко ошибиться. Этот конвертер JSON в типы читает пример и генерирует подходящий код: интерфейсы TypeScript, структуры Swift с Codable, data class Kotlin, классы Dart, структуры Go с тегами json, dataclass Python, а также классы C# и Java. Каждый вложенный объект становится отдельным именованным типом, массивы — типизированными списками, а имена ключей приводятся к стилю целевого языка; исходный ключ JSON сохраняется там, где он нужен.
Преобразование выполняет quicktype-core — открытый движок quicktype (Apache License 2.0), который загружается на страницу при первом нажатии «Преобразовать». С галочкой «Только типы» вы получаете чистые объявления типов. Для Swift сохраняются Codable и CodingKeys, а убираются только вспомогательные инициализаторы. Если снять галочку, добавятся вспомогательные функции разбора, которые quicktype пишет по умолчанию: класс Convert в TypeScript, аннотации Jackson в Kotlin или from_dict в Python.
Типы выводятся из примера, поэтому используйте данные, где видны все поля. Значение null даёт необязательный тип или any, числа без дробной части становятся целыми, а объекты одинаковой формы в разных местах могут объединяться в один тип. Ваш JSON не покидает браузер: разбор и генерация кода выполняются на устройстве, ничего не загружается и не сохраняется.