Conversor de JSON para classes Python
Cole JSON e obtenha classes Python na hora — dataclass, Pydantic v2 ou TypedDict. Tipagem Optional, aliases camelCase e classes aninhadas. Grátis, no navegador.
O que é conversão de JSON para Python?
A conversão de JSON para Python transforma uma amostra de JSON em classes Python prontas para uso — uma dataclass da biblioteca padrão, um modelo Pydantic v2 ou um TypedDict — para que você nunca escreva à mão as definições de campo de uma resposta de API ou arquivo de configuração. Este gerador de classe Python infere os tipos corretos (int, float, str, bool, Optional), transforma objetos aninhados em classes nomeadas e adiciona aliases Pydantic para chaves em camelCase, tudo 100% no seu navegador.
Exemplos
Resposta de API → dataclass
{"id":101,"name":"Ada Lovelace","email":"ada@example.com","active":true,"roles":["admin","user"]} from dataclasses import dataclass
from typing import List
@dataclass
class Root:
id: int
name: str
email: str
active: bool
roles: List[str]
Um payload REST típico torna-se um @dataclass pronto para uso. Números inteiros inferem int, decimais inferem float e arrays tornam-se List[str].
Objeto aninhado (classe filha primeiro)
{"repo":"pydantic","owner":{"login":"samuelcolvin","id":100}} from dataclasses import dataclass
@dataclass
class Owner:
login: str
id: int
@dataclass
class Root:
repo: str
owner: Owner
Objetos aninhados tornam-se classes separadas e nomeadas. A classe filha (Owner) é emitida antes da classe pai, então o código roda sem from __future__ import annotations.
camelCase → alias Pydantic v2
{"login":"octocat","publicRepos":15,"createdAt":"2011-01-25"} from pydantic import BaseModel, ConfigDict, Field
class Root(BaseModel):
model_config = ConfigDict(populate_by_name=True)
login: str
public_repos: int = Field(alias="publicRepos")
created_at: str = Field(alias="createdAt")
No modo Pydantic, os campos ficam em snake_case com Field(alias=...) mapeando de volta para a chave JSON original, e populate_by_name permite construir o modelo das duas formas — então a validação faz a ida e volta com dados reais de API.
Array de objetos → TypedDict (chave opcional)
{"users":[{"id":1,"nick":"x"},{"id":2}]} from typing import List, Optional, TypedDict
class User(TypedDict):
id: int
nick: Optional[str]
class Root(TypedDict):
users: List[User]
Arrays de objetos são mesclados em um único tipo de elemento. Uma chave ausente em alguns itens (nick) torna-se Optional. TypedDict descreve o formato de um dict simples sem custo algum em tempo de execução.
Como converter JSON para Python
- 1
Cole seu JSON
Insira um objeto JSON, array ou resposta de API no campo de entrada. A conversão começa instantaneamente.
- 2
Escolha dataclass, Pydantic ou TypedDict
Alterne o estilo de saída para combinar com o seu projeto e renomeie a classe raiz a partir do padrão Root.
- 3
Copie ou baixe
Pegue o Python gerado com um clique e cole-o diretamente no seu código.
Common Use Cases
- Clientes de API tipados
- Transforme uma resposta de exemplo de REST ou GraphQL em modelos Pydantic ou dataclasses para um cliente requests ou httpx sem escrever definições de campo à mão.
- Análise de configuração e fixtures
- Gere modelos para arquivos de configuração JSON, fixtures de teste ou payloads de webhook que você precisa carregar e validar.
- Prototipagem rápida e dicas de tipo
- Cole um payload desconhecido para ver instantaneamente sua estrutura como tipos Python — uma forma rápida de explorar uma nova API ou adicionar dicas TypedDict a código legado baseado em dict.
Como a conversão funciona
- Inferência estrutural
- Cada objeto torna-se uma classe nomeada; formatos idênticos são deduplicados, então você obtém uma única classe, não cópias. Arrays de objetos são mesclados chave por chave, e chaves ausentes em alguns itens tornam-se Optional.
- Três alvos idiomáticos
- dataclass mantém zero dependências e preserva as chaves válidas para Root(**data); Pydantic v2 adiciona aliases Field junto com populate_by_name para validação real; TypedDict descreve um dict simples para verificadores de tipo estáticos, usando a sintaxe funcional quando uma chave não é identificador.
- Tipagem correta e leve em dependências
- Números inteiros viram int (precisão arbitrária, sem overflow), decimais e expoentes viram float, e campos que só têm null viram Optional[Any]. Os imports de typing (Optional, List, Any) são adicionados apenas quando realmente usados.
- 100% no lado do cliente
- A análise e a geração rodam no seu navegador sem chamadas de rede, então seus dados permanecem privados.
Dicas para modelos Python limpos
- Combine o modo com a tarefa
- Use dataclass para contêineres de dados internos, Pydantic v2 quando você valida ou faz o parse de entradas não confiáveis, e TypedDict quando você só precisa de dicas de tipo estáticas sobre dicts existentes.
- Cole uma amostra representativa
- Os campos são marcados como Optional apenas quando uma amostra os omite, e valores que só têm null recorrem a Any. Um exemplo completo e preenchido produz os tipos mais precisos.
- Nomeie sua classe raiz
- Defina um nome de raiz significativo (User, ApiResponse) em vez do padrão Root para um código legível e importável.
Perguntas frequentes
Como converter JSON para uma classe Python?
Qual a diferença entre a saída dataclass, Pydantic e TypedDict?
Como gerar um modelo Pydantic a partir de JSON?
Como a saída dataclass lida com chaves em camelCase?
Como campos opcionais e null são tipados?
Para qual tipo Python cada valor JSON é mapeado?
Ele lida com objetos aninhados e arrays de objetos?
Como palavras-chave do Python e chaves que não são identificadores são tratadas?
Como uso a dataclass gerada para fazer o parse de JSON?
Meus dados JSON são privados e seguros?
A ferramenta é grátis? Preciso de uma conta?
Ferramentas relacionadas
Ver todas as ferramentas →Decodificador e Codificador Base64
Codificação e Formatação
Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.
Conversor de Base64 para Imagem
Codificação e Formatação
Decodifique uma string Base64 ou data URI de volta para imagem no navegador. Pré-visualize, leia dimensões e MIME, e baixe como PNG, JPG, GIF, SVG. Sem upload.
Conversor CSV para JSON
Codificação e Formatação
Converta CSV para JSON no navegador. RFC 4180, inferência de tipos, cabeçalho, seguro para inteiros grandes. 100% privado, sem upload.
Conversor de .env para JSON
Codificação e Formatação
Cole um arquivo .env e obtenha JSON na hora. Suas senhas, chaves de API e tokens nunca saem do navegador — 100% privado, sem upload, analisador dotenv grátis.
Decodificador de Entidades HTML — Unescape HTML
Codificação e Formatação
Decodifique entidades HTML e faça unescape de HTML online — grátis, sem cadastro, 100% no seu navegador. Converte referências nomeadas, decimais & hex de volta em caracteres; nada é enviado.
Codificador de Entidades HTML — Escapar HTML
Codificação e Formatação
Codifique entidades HTML e escape caracteres especiais (< > & " ') online — grátis, sem cadastro, 100% no seu navegador. Saída nomeada, decimal ou hex; nada é enviado.