JSON Templates for Developers — Ready-to-Use Examples for APIs, Config & DevOps
Browse practical JSON templates for REST APIs, configuration files, database schemas, and cloud infrastructure. Copy, customize, and use in your projects. 18 templates with real-world examples.
Por que usar templates JSON?
Todo desenvolvedor já escreveu as mesmas estruturas JSON dezenas de vezes — um envelope de resposta de API, um tsconfig.json, um arquivo Docker Compose. Cada vez, você copia de um projeto anterior (esperando que esteja correto) ou escreve do zero (introduzindo erros sutis).
Templates eliminam esse ciclo. Começar a partir de uma estrutura comprovada oferece quatro vantagens concretas:
- Economize tempo. Pule o problema do arquivo em branco. Um template leva você à parte interessante do seu trabalho mais rapidamente.
- Garanta consistência. Quando cada serviço em sua organização retorna o mesmo envelope de API, os consumidores podem escrever um manipulador de resposta em vez de dez.
- Reduza erros. Esquecer um campo obrigatório em um manifesto Kubernetes pode derrubar uma implantação. Templates incluem os campos que você normalmente esqueceria.
- Integre mais rápido. Novos membros da equipe podem ler um template e entender imediatamente a estrutura esperada em vez de reverter a engenharia a partir de dados de produção.
Os templates abaixo cobrem as estruturas JSON mais comuns no desenvolvimento moderno. Cada um está disponível em nossa Biblioteca de Templates, onde você pode copiá-los com um único clique.
Templates de Resposta de API
O template JSON mais impactante que você pode adotar é um envelope de resposta de API consistente. Em vez de cada endpoint retornar formas ad-hoc, defina um wrapper padrão com data em caso de sucesso, error em caso de falha e meta para rastreamento de solicitações e paginação.
Resposta de API Paginada
Aqui está uma resposta paginada do mundo real seguindo o padrão de envelope:
{
"data": [
{ "id": "usr_abc123", "name": "Alice Johnson", "role": "admin" },
{ "id": "usr_def456", "name": "Bob Smith", "role": "member" }
],
"meta": {
"total": 84,
"page": 2,
"per_page": 20,
"total_pages": 5,
"request_id": "req_9f3b7a"
}
}
Essa estrutura permite que os clientes renderizem controles de paginação a partir de meta sem adivinhações. O request_id torna a depuração de tickets de suporte trivial — basta pesquisar em seus logs.
Navegue pelos templates completos: Resposta de Sucesso da API REST, Resposta de Erro da API REST, Resposta Paginada.
Templates de Arquivo de Configuração
Arquivos de configuração são onde a maioria dos erros JSON acontece silenciosamente. Uma opção de compilador errada em tsconfig.json não causa uma falha — apenas produz uma saída sutilmente errada. Começar a partir de um template validado evita isso.
Configuração TypeScript
Um tsconfig.json mínimo, mas pronto para produção, para um projeto Next.js:
{
"compilerOptions": {
"target": "ES2017",
"lib": ["dom", "dom.iterable", "esnext"],
"module": "esnext",
"moduleResolution": "bundler",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"jsx": "preserve",
"paths": { "@/*": ["./src/*"] }
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}
As escolhas principais aqui: strict: true captura erros de tipo cedo, moduleResolution: "bundler" alinha-se com os bundlers modernos, e o alias de caminho @/* mantém as importações limpas.
Templates de configuração: package.json, tsconfig.json, Configuração do ESLint.
Templates de Esquema de Banco de Dados
Seja semeando um banco de dados de desenvolvimento ou definindo uma estrutura de documento para MongoDB, ter um template significa que sua equipe concorda sobre nomes de campos, tipos e valores padrão antes da primeira linha de código da aplicação.
Documento de Usuário MongoDB
{
"_id": "ObjectId('66a1b2c3d4e5f6a7b8c9d0e1')",
"email": "alice@example.com",
"profile": {
"firstName": "Alice",
"lastName": "Johnson",
"avatar": "https://cdn.example.com/avatars/alice.jpg"
},
"roles": ["admin", "editor"],
"settings": { "theme": "dark", "locale": "en-US" },
"createdAt": "2026-01-15T09:30:00Z",
"updatedAt": "2026-03-20T14:22:00Z"
}
Essa estrutura aninha campos relacionados sob profile e settings para manter o documento de nível superior plano o suficiente para indexação eficiente, enquanto agrupa dados logicamente relacionados.
Templates de banco de dados: Esquema MongoDB, Dados de Semente Prisma.
Templates de DevOps e Nuvem
Arquivos de infraestrutura como código são alguns dos JSON mais propensos a erros que você escreverá. Um campo ausente em um manifesto Kubernetes ou um template CloudFormation pode causar falhas silenciosas que só aparecem em produção. Templates oferecem um ponto de partida conhecido e bom.
Implantação Kubernetes
Um manifesto de implantação Kubernetes simplificado em formato JSON:
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "web-api",
"labels": { "app": "web-api", "env": "production" }
},
"spec": {
"replicas": 3,
"selector": { "matchLabels": { "app": "web-api" } },
"template": {
"metadata": { "labels": { "app": "web-api" } },
"spec": {
"containers": [{
"name": "web-api",
"image": "registry.example.com/web-api:1.4.2",
"ports": [{ "containerPort": 8080 }],
"resources": {
"requests": { "cpu": "250m", "memory": "256Mi" },
"limits": { "cpu": "500m", "memory": "512Mi" }
}
}]
}
}
}
}
Os pedidos e limites de recursos estão incluídos por padrão — ignorá-los é a principal causa de problemas de vizinho barulhento em clusters compartilhados. Os rótulos seguem a convenção padrão app / env para que seletores e políticas de rede funcionem imediatamente.
Templates de infraestrutura: Docker Compose, Implantação Kubernetes, Workflow do GitHub Actions.
Template de Payload JWT
Tokens Web JSON transportam reivindicações como um payload JSON. Obter as reivindicações padrão corretas é crítico — uma reivindicação exp ausente significa que os tokens nunca expiram, e uma iss errada quebra a verificação.
{
"sub": "usr_abc123",
"iss": "https://auth.example.com",
"aud": "https://api.example.com",
"exp": 1774648800,
"iat": 1774645200,
"nbf": 1774645200,
"roles": ["admin", "editor"],
"email": "alice@example.com"
}
As reivindicações registradas (sub, iss, aud, exp, iat, nbf) seguem RFC 7519. Reivindicações personalizadas como roles e email devem usar nomes curtos para manter o tamanho do token pequeno — JWTs viajam em cabeçalhos HTTP onde cada byte conta.
Veja o template completo: Payload JWT.
Como Personalizar Templates
Um template é um ponto de partida, não um produto final. Aqui está um fluxo de trabalho prático para adaptar qualquer template ao seu projeto:
- Comece pelo template mais próximo. Escolha aquele que mais se aproxima do seu caso de uso. Um template de resposta paginada é um ponto de partida melhor para um endpoint de busca do que uma resposta de sucesso genérica.
- Renomeie e adicione campos. Altere os valores de espaço reservado para os nomes reais dos seus campos. Adicione campos específicos do domínio que sua aplicação precisa. Remova campos que não se aplicam.
- Valide o resultado. Cole seu JSON modificado em nosso Validador JSON para capturar erros de sintaxe — uma vírgula final ou uma aspa ausente é fácil de introduzir ao editar manualmente.
- Formate para legibilidade. Execute-o pelo Formatador JSON para garantir uma indentação consistente antes de se comprometer com seu código ou compartilhar com sua equipe.
- Tranque com um esquema. Para estruturas críticas como respostas de API, defina um Esquema JSON para que futuras alterações sejam validadas automaticamente.
Navegue por Todos os Templates
Os exemplos deste guia são apenas uma amostra. Nossa Biblioteca de Templates inclui 18 templates prontos para uso cobrindo APIs, configuração, bancos de dados, autenticação e infraestrutura em nuvem — cada um com explicações campo a campo e suporte para copiar para a área de transferência.
Navegue pela coleção completa: Visite a Biblioteca de Templates JSON para encontrar templates para sua pilha. Copie qualquer template com um clique, personalize-o e valide o resultado com nosso Formatador JSON.