Desenvolvedor / Tipos
Conversor de JSON para Python
Transforme um exemplo JSON em dataclasses, definições TypedDict ou modelos Pydantic em Python, com classes aninhadas, campos opcionais e anuláveis e nomes em snake_case.
Conversor de JSON para Python: O conversor lê a estrutura do exemplo: cada objeto se torna uma classe, arrays se tornam list[...] e objetos dentro de um array são mesclados. Assim, uma chave ausente em alguns registros se torna opcional, e uma chave que às vezes é nula se torna "| None". Chaves que não são nomes válidos em Python se tornam snake_case; os modelos Pydantic mantêm a chave original como um alias, e o TypedDict usa sua forma funcional. A saída para vários exemplos complexos foi executada no Python 3.13, com o Pydantic validando o exemplo em relação a ela. Roda 100% localmente no seu navegador, sem enviar nenhum arquivo para o servidor.
- Categoria
- Ferramentas para desenvolvedores
- Execuções
- No seu navegador
- Custo
- Grátis · sem cadastro
- Disponibilidade
- Pronto para usar
Roda inteiramente no seu navegador
Python
from __future__ import annotations
from dataclasses import dataclass
@dataclass
class Address:
city: str
zip_code: str
@dataclass
class User:
id: int
user_name: str
avatar_url: str
score: float
tags: list[str]
address: Address
manager_id: int | None
nickname: str | None = None
UserList = list[User]
Escrito para Python 3.10 ou posterior. As chaves ausentes em alguns objetos se tornam opcionais; as chaves que às vezes são null se tornam “| None”. Dataclasses não mapeiam chaves renomeadas de volta para JSON, portanto use Pydantic, que adiciona aliases, quando as chaves não forem nomes válidos em Python.
Dos tipos à validação
As dicas de tipo, sozinhas, não verificam os dados em tempo de execução: json.loads fornece dicts e listas comuns, independentemente do que dizem as anotações. Os modelos do Pydantic validam e convertem os dados durante a análise, com Model.model_validate(data), e informam todos os campos que não correspondem ao esperado.
Para ver o mesmo exemplo em outras linguagens, consulte JSON para TypeScript e JSON para Go; para um contrato independente de linguagem, use JSON para JSON Schema.
Como obter um bom exemplo
Cole vários registros em vez de apenas um, incluindo registros com campos opcionais ou vazios, para que o conversor possa identificar quais chaves estão sempre presentes. Valores que são sempre null ou arrays vazios resultam em Any, que deverá ser preenchido manualmente.
Como usar
- Cole um exemplo JSON, de preferência um array com vários registros típicos.
- Escolha dataclasses, TypedDict ou Pydantic e dê um nome ao tipo de nível superior.
- Copie as classes geradas para o seu projeto.
Privacidade e limitações
O JSON é convertido no seu navegador e nunca é enviado.
Ferramentas relacionadas
Perguntas frequentes
Qual estilo devo usar?
Use Pydantic para validar e analisar dados de uma API, TypedDict para verificar tipos de código que passa dicionários comuns entre funções e dataclasses para objetos internos simples que você mesmo cria.
De qual versão do Python o código precisa?
Python 3.10 ou posterior, por causa da sintaxe X | None; NotRequired em TypedDict exige a versão 3.11 ou o pacote typing_extensions em versões anteriores.
Por que alguns campos têm o tipo Any?
Uma chave que é sempre nula ou um array vazio não fornece nenhuma pista sobre seu tipo; substitua Any pelo tipo real indicado na documentação da sua API.
Ferramenta grátis · no seu navegador execuções · não precisa de conta