JSON para Python Dict

Gratuito DevTools

JSON para Python Dict

Converta JSON para dicionario Python, TypedDict ou dataclass com syntax highlighting. Suporte bidirecional: Python dict para JSON tambem. Sem cadastro, 100% no navegador.

4.1k usuarios Atualizado em Mar 2026 4.9/5
Avalie esta ferramenta:
4.9 (512 votos) Obrigado!
Conversor JSON / Python
JSON → Python
Python → JSON

Entrada JSON

Saida Python

O codigo aparecera aqui...

Como Usar

Converta JSON para Python em segundos.

1
Cole o JSON
Insira o JSON no campo de entrada ou use a aba Python → JSON para a direcao inversa.
2
Escolha o formato
Selecione dict simples, TypedDict (tipagem estatica) ou dataclass.
3
Ajuste as opcoes
Configure aspas simples, virgula final e indentacao conforme preferencia.
4
Copie o resultado
Clique em Copiar para usar o codigo Python gerado no seu projeto.

Sobre o Conversor JSON para Python

Esta ferramenta converte estruturas JSON para codigo Python valido diretamente no seu navegador. Suporta todos os tipos de dados JSON: strings, numeros, booleanos, null (convertido para None), arrays e objetos aninhados.

Modos de conversao:

  • Dict simples: gera um dicionario Python padrao com a estrutura JSON.
  • TypedDict: gera uma classe TypedDict com tipos inferidos (Python 3.8+).
  • dataclass: gera um dataclass decorado com @dataclass e tipos inferidos (Python 3.7+).

JSON e Python: Dict, TypedDict e Dataclass — Quando Usar Cada Um

Neste artigo
  1. JSON e Python: conversao de tipos
  2. Dict simples
  3. TypedDict
  4. dataclass
  5. Quando usar cada um
  6. Perguntas frequentes

1. JSON e Python: Conversao de Tipos

O JSON (JavaScript Object Notation) e o formato de troca de dados mais usado em APIs modernas. Python possui suporte nativo via modulo json, mas a conversao entre os tipos dos dois sistemas requer atencao.

Mapeamento JSON → Python: object vira dict, array vira list, string vira str, number vira int ou float, true/false viram True/False, null vira None.

2. Dict Simples

O dicionario Python e a representacao mais direta de um objeto JSON. E flexivel, nao tem schema definido e e facilmente serializavel de volta para JSON. Ideal para scripts rapidos, prototipagem e casos onde a estrutura pode variar.

"Para a maioria dos casos de uso com APIs externas, um dict simples com acesso por chave e suficiente e mais facil de manter."

3. TypedDict

Introduzido no Python 3.8 (PEP 589), o TypedDict permite definir dicionarios com tipos especificos para cada chave, habilitando verificacao estatica com mypy ou pyright sem alterar o comportamento em runtime.

Vantagens: autocompletar no IDE, deteccao de erros de tipo em tempo de desenvolvimento, documentacao implicita da estrutura esperada. Desvantagens: nao valida em runtime, requer Python 3.8+.

4. dataclass

O decorator @dataclass (Python 3.7+, PEP 557) gera automaticamente metodos __init__, __repr__ e __eq__. Oferece acesso por atributo (obj.nome) em vez de chave (obj['nome']), tipagem forte e melhor legibilidade em codigo orientado a objetos.

Para conversao de e para JSON com dataclass, use dataclasses.asdict() e dataclasses.fields().

5. Quando Usar Cada Um

  • Dict: scripts, prototipagem, estruturas dinamicas ou quando a compatibilidade maxima e necessaria.
  • TypedDict: codebases com tipagem estatica (mypy), quando voce quer manter a API de dict mas com tipos documentados.
  • dataclass: quando os dados representam entidades do dominio, quando voce quer acesso por atributo, ou em projetos maiores com OOP.

6. Perguntas Frequentes

Como converter de volta para JSON?

Para dict: json.dumps(meu_dict). Para dataclass: json.dumps(dataclasses.asdict(meu_obj)). Para TypedDict: como e um dict em runtime, use json.dumps(meu_typed_dict) normalmente.

O conversor suporta JSON aninhado?

Sim. Objetos e arrays aninhados sao convertidos recursivamente. Porem, para TypedDict e dataclass, apenas o nivel raiz ganha uma classe tipada — objetos aninhados sao representados como dict no tipo.

Existe alternativa mais robusta para models complexos?

Sim. Bibliotecas como Pydantic (validacao em runtime com tipagem) e attrs oferecem funcionalidades mais avancadas para modelos de dados complexos em Python.