Repolode
glideapps

glideapps/quicktype

Создаёт типизированные модели и сериализаторы на разных языках по JSON, JSON Schema, TypeScript и GraphQL-запросам.

Звёзды
13,909
Форки
1,195
Открытые issues
235
Последний коммит
9 дней назад

Что это?

quicktype преобразует примеры JSON, определения JSON Schema и типов TypeScript или GraphQL-запросы в типизированные модели и сериализаторы для множества языков программирования. Он предназначен для разработчиков, которым нужно безопасно работать с JSON в коде со строгой типизацией и не хочется вручную писать классы данных.

Инструмент доступен в нескольких вариантах: как веб-приложение на app.quicktype.io, которое работает офлайн и хранит вставленные данные локально, как глобальная npm CLI или как пакет quicktype-core для вызова из JavaScript или TypeScript. Рекомендуемый рабочий процесс: вывести JSON Schema из примеров данных, проверить её и добавить в репозиторий, а затем генерировать модели для каждого целевого языка в рамках сборки.

Среди поддерживаемых языков — Swift, Kotlin, Java, C#, Go, Rust, Python, TypeScript, C++, Dart, Scala, Elm и другие. Для CLI и пакетов Node.js требуется Node.js версии 20 или новее.

Ключевые возможности

  • 01Выводит типы из примеров JSON, JSON Schema, TypeScript и GraphQL-запросов.
  • 02Создаёт модели более чем для дюжины языков, в том числе Swift, Go, Rust и Java.
  • 03Предлагает браузерное приложение, которое работает офлайн и хранит примеры данных локально.
  • 04Предоставляет CLI и JavaScript API quicktype-core.
  • 05Поддерживает пользовательские рендереры для добавления новых языков вывода.

Сценарии использования

  • Генерация типизированных моделей для мобильного приложения по ответам JSON API от бэкенда.
  • Хранение JSON Schema в репозитории и генерация соответствующих моделей для нескольких сервисов.
  • Создание структур Go или Rust по примерам данных API на этапе прототипирования.
  • Создание общего контракта данных, который разные языковые стеки сериализуют одинаково.

Быстрый старт

  1. 1

    Установите quicktype CLI глобально с помощью npm

    npm install -g quicktype
  2. 2

    Сгенерируйте исходный код Go на основе примера JSON, используя stdin

    echo '[1, 2, 3]' | quicktype -o ints.go

Что важно знать

  • Для работы quicktype CLI и пакетов Node.js требуется Node.js версии 20 или новее.

В подборках

Темы

Частые вопросы

Что такое quicktype?
Создаёт типизированные модели и сериализаторы на разных языках по JSON, JSON Schema, TypeScript и GraphQL-запросам. quicktype преобразует примеры JSON, определения JSON Schema и типов TypeScript или GraphQL-запросы в типизированные модели и сериализаторы для множества языков программирования. Он предназначен для разработчиков, которым нужно безопасно работать с JSON в коде со строгой типизацией и не хочется вручную писать классы данных.
quicktype можно использовать бесплатно? Какая у него лицензия?
quicktype распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
quicktype всё ещё поддерживается?
Активно поддерживается. Последний коммит в quicktype — 30 окт. 2026 г..
Для чего можно использовать quicktype?
Генерация типизированных моделей для мобильного приложения по ответам JSON API от бэкенда. Хранение JSON Schema в репозитории и генерация соответствующих моделей для нескольких сервисов. Создание структур Go или Rust по примерам данных API на этапе прототипирования. Создание общего контракта данных, который разные языковые стеки сериализуют одинаково.
Как установить quicktype?
Установите quicktype CLI глобально с помощью npm: npm install -g quicktype Сгенерируйте исходный код Go на основе примера JSON, используя stdin: echo '[1, 2, 3]' | quicktype -o ints.go
Где скачать quicktype?
Исходный код и инструкции по установке — на GitHub: https://github.com/glideapps/quicktype

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Независимый от языка RPC-фреймворк с генератором кода для создания совместимых клиентов и серверов на множестве языков программирования.

11 тыс.+6 за неделю4,1 тыс.C++Apache-2.0Обновлён позавчера

Быстрая библиотека для сериализации и валидации данных в Python: кодирует и декодирует JSON, MessagePack, YAML и TOML с помощью стандартных аннотаций типов.

4,2 тыс.+15 за неделю229PythonBSD-3-ClauseАктивно поддерживаетсяОбновлён вчера

Декларативный язык схем, который генерирует типобезопасные модели данных и RPC-код для TypeScript, Python, Java, Go, C++ и других языков из одного файла .skir.

317+1 за неделю10TypeScriptMITАктивно поддерживаетсяОбновлён 11 дней назад

TypeScript-трансформер, который на этапе сборки превращает обычные типы TypeScript в runtime-валидаторы, JSON-сериализаторы, кодеки protobuf и генераторы случайных данных.

6 тыс.+2 за неделю233TypeScriptMITАктивно поддерживаетсяОбновлён вчера