IQ
PayloadIQ
Utilidades de PayloadIQ

JSON a Python

Pega una muestra de JSON y obtén código Python tipado: dataclasses, modelos Pydantic, TypedDict o un dict. Todo se ejecuta en tu navegador.

Python classes appear here.

Se ejecuta en tu navegador. Lo que introduces no se sube a PayloadIQ.

JSON a Python convierte una muestra de JSON en código Python listo para pegar en tu archivo de modelos, y todo el proceso ocurre en tu navegador. Eliges entre dataclasses del estándar, modelos Pydantic v2, clases TypedDict o un dict literal. La estructura se infiere de tu ejemplo: los objetos anidados se vuelven clases anidadas, los arrays se convierten en List[...] y los valores null pasan a ser Optional[...]. Como nada se sube a ningún servidor, puedes pegar respuestas de API reales sin riesgo.

dataclasses, Pydantic o TypedDict: tú decides

Cada salida encaja con un caso distinto. Usa dataclasses cuando quieras contenedores tipados sin dependencias externas; opta por Pydantic cuando necesites validación y parseo del payload entrante en tiempo de ejecución; y elige TypedDict cuando mantengas los datos como diccionarios pero quieras el apoyo del editor y del verificador de tipos. El modo dict literal es práctico para fixtures, datos de prueba y scripts rápidos. Cambias entre las cuatro opciones con el selector de salida, sin tocar tu JSON original.

De un payload a un modelo tipado

La inferencia se basa en la muestra, así que pega el payload más completo que tengas. Para listas de objetos, la herramienta fusiona las claves de todos los elementos y marca como Optional las que falten en alguno. Las claves que no son identificadores válidos de Python se sanean a nombres correctos: en Pydantic el nombre original se conserva con Field(alias="..."), y en dataclasses y TypedDict se guarda en un comentario. Así el modelo generado refleja tus datos reales y queda listo para compilar.

Preguntas frecuentes

¿Se sube mi JSON a algún servidor?
No. El JSON se parsea y se convierte por completo en tu navegador con JavaScript; nunca sale de tu dispositivo. Por eso es seguro usarlo con respuestas de API reales, payloads de autenticación y cualquier dato interno.
¿Qué salidas de Python admite?
Cuatro: dataclasses de la biblioteca estándar, modelos BaseModel de Pydantic v2, clases typing.TypedDict y un dict literal de Python (con True, False y None). Cambias entre ellas con el selector de salida.
¿Cómo se infieren los tipos?
A partir de tu muestra. Los objetos anidados se convierten en sus propias clases anidadas, los arrays pasan a List[...] con el tipo del elemento inferido, y un valor null se vuelve Optional[...]. La inferencia es tan completa como la muestra, así que pega un payload representativo.
¿Y las claves que no son identificadores válidos de Python?
Se sanean a nombres válidos; por ejemplo, un guion se convierte en guion bajo. En Pydantic la clave original se conserva con Field(alias="..."); en dataclasses y TypedDict, la clave JSON original queda en un comentario.

Utilidades relacionadas

Formateador / Validador JSONMinificador JSONComparar JSONJSON a CSV
Abrir PayloadIQ Playground