Repolode
glideapps

glideapps/quicktype

Gera modelos tipados e serializadores em várias linguagens a partir de JSON, JSON Schema, TypeScript e consultas GraphQL.

Estrelas
13,909
Forks
1,194
Issues abertas
235
Último commit
há 9 dias

O que é?

quicktype transforma exemplos de JSON, JSON Schema, definições de tipos TypeScript ou consultas GraphQL em modelos tipados e serializadores para uma ampla variedade de linguagens de programação. A ferramenta é voltada a desenvolvedores que precisam trabalhar com dados JSON com segurança em código tipado, sem escrever as classes de dados manualmente.

A ferramenta pode ser usada de várias formas: como app web em app.quicktype.io, que funciona offline e mantém os dados colados localmente; como CLI global do npm; ou pelo pacote quicktype-core, para chamá-la a partir de JavaScript ou TypeScript. O fluxo de trabalho recomendado é inferir um JSON Schema a partir de dados de exemplo, revisá-lo e versioná-lo, e então gerar modelos para cada linguagem de destino durante o build.

As linguagens de destino incluem Swift, Kotlin, Java, C#, Go, Rust, Python, TypeScript, C++, Dart, Scala, Elm e outras. Para usar a CLI e os pacotes Node.js, é necessário ter Node.js 20 ou mais recente.

Recursos principais

  • 01Infere tipos a partir de exemplos de JSON, JSON Schema, TypeScript e consultas GraphQL.
  • 02Gera modelos para mais de uma dúzia de linguagens, incluindo Swift, Go, Rust e Java.
  • 03Oferece um app de navegador que funciona offline e mantém os dados de exemplo localmente.
  • 04Disponibiliza uma CLI e uma API JavaScript do quicktype-core.
  • 05Oferece suporte a renderizadores personalizados para adicionar linguagens de saída.

Casos de uso

  • Gerar modelos tipados para um app mobile a partir das respostas JSON da API de um backend.
  • Manter um JSON Schema em um repositório e gerar modelos correspondentes para vários serviços.
  • Criar structs em Go ou Rust a partir de exemplos de payloads de API durante a prototipagem.
  • Criar um contrato de dados compartilhado que diferentes stacks de linguagens possam serializar da mesma forma.

Início rápido

  1. 1

    Instale o quicktype CLI globalmente com npm

    npm install -g quicktype
  2. 2

    Gere código-fonte Go a partir de uma amostra JSON usando stdin

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

Antes de usar

  • O quicktype CLI e os pacotes do Node.js requerem o Node.js 20 ou posterior.

Em coleções

Tópicos

Perguntas frequentes

O que é quicktype?
Gera modelos tipados e serializadores em várias linguagens a partir de JSON, JSON Schema, TypeScript e consultas GraphQL. quicktype transforma exemplos de JSON, JSON Schema, definições de tipos TypeScript ou consultas GraphQL em modelos tipados e serializadores para uma ampla variedade de linguagens de programação. A ferramenta é voltada a desenvolvedores que precisam trabalhar com dados JSON com segurança em código tipado, sem escrever as classes de dados manualmente.
quicktype é gratuito? Qual é a licença?
quicktype é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
quicktype ainda é mantido?
Manutenção ativa. O último commit de quicktype foi em 30 de out. de 2026.
Para que posso usar quicktype?
Gerar modelos tipados para um app mobile a partir das respostas JSON da API de um backend. Manter um JSON Schema em um repositório e gerar modelos correspondentes para vários serviços. Criar structs em Go ou Rust a partir de exemplos de payloads de API durante a prototipagem. Criar um contrato de dados compartilhado que diferentes stacks de linguagens possam serializar da mesma forma.
Como instalar quicktype?
Instale o quicktype CLI globalmente com npm: npm install -g quicktype Gere código-fonte Go a partir de uma amostra JSON usando stdin: echo '[1, 2, 3]' | quicktype -o ints.go
Onde consigo quicktype?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/glideapps/quicktype

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados