Framework RPC independente de linguagem, com um gerador de código que cria clientes e servidores interoperáveis em diversas linguagens de programação.
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
Instale o quicktype CLI globalmente com npm
npm install -g quicktype - 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
Uma biblioteca rápida de serialização e validação para Python que codifica e decodifica JSON, MessagePack, YAML e TOML usando anotações de tipo padrão.
Editor de JSON open source que transforma JSON, YAML, CSV e XML em gráficos interativos, com conversão de formatos e geração de código.
Uma linguagem declarativa de schemas que gera modelos de dados type-safe e código RPC para TypeScript, Python, Java, Go, C++ e outras linguagens a partir de um único arquivo .skir.
Transformer de TypeScript que compila tipos puros em validadores de runtime, serializadores JSON, codecs de Protocol Buffer e geradores de dados aleatórios.
Uma biblioteca YAML 1.2 de alto desempenho e baixa alocação para C# com foco em .NET e Unity, com serialização gerada pelo source generator.