Développeur / Types

Convertisseur JSON vers Python

Transformez un exemple JSON en dataclasses Python, définitions TypedDict ou modèles Pydantic, avec classes imbriquées, champs facultatifs ou nullables et noms en snake_case.

Convertisseur JSON vers Python: Le convertisseur analyse la structure de l’exemple : chaque objet devient une classe, les tableaux deviennent des list[...], et les objets d’un tableau sont fusionnés. Ainsi, une clé absente de certains enregistrements devient facultative, tandis qu’une clé parfois null devient "| None". Les clés qui ne sont pas des noms Python valides sont converties en snake_case ; les modèles Pydantic conservent la clé d’origine comme alias, et TypedDict adopte sa forme fonctionnelle. La sortie correspondant à plusieurs exemples complexes a été exécutée avec Python 3.13 ; Pydantic a validé l’exemple par rapport au modèle généré. Fonctionne 100 % localement dans votre navigateur, sans aucun téléversement de fichier vers le serveur.

Exécutions
Dans votre navigateur
Coût
Gratuit · sans inscription
Disponibilité
Prêt à l'emploi
JSON vers PythonTraitement local

Fonctionne entièrement dans votre navigateur

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]

Prévu pour Python 3.10 ou version ultérieure. Les clés absentes de certains objets deviennent facultatives ; celles qui sont parfois null deviennent « | None ». Les dataclasses ne remappent pas les clés renommées vers JSON : utilisez donc Pydantic, qui ajoute des alias, lorsque les clés ne sont pas des noms Python valides.

Des types à la validation

Les annotations de type seules ne vérifient pas les données à l’exécution : json.loads vous renvoie de simples dictionnaires et listes, quelles que soient les annotations. Les modèles Pydantic valident et convertissent les données lors de leur analyse avec Model.model_validate(data), et signalent chaque champ qui ne correspond pas.

Pour le même exemple dans d’autres langages, consultez JSON vers TypeScript et JSON vers Go ; pour un contrat indépendant du langage, utilisez JSON vers JSON Schema.

Obtenir un bon exemple

Collez plusieurs enregistrements plutôt qu’un seul, notamment avec des champs facultatifs ou vides, afin que le convertisseur puisse déterminer quelles clés sont toujours présentes. Les valeurs qui sont toujours null ou des tableaux vides deviennent Any ; vous devrez les compléter manuellement.

Comment l'utiliser

  1. Collez un exemple JSON, idéalement un tableau contenant plusieurs enregistrements représentatifs.
  2. Choisissez dataclasses, TypedDict ou Pydantic, puis nommez le type de niveau supérieur.
  3. Copiez les classes générées dans votre projet.

Confidentialité et limitations

Le JSON est converti dans votre navigateur et n’est jamais envoyé.

Outils associés

Questions fréquentes

Quel style dois-je utiliser ?

Pydantic pour valider et analyser les données provenant d’une API, TypedDict pour vérifier le typage du code qui manipule des dict simples, et dataclasses pour les objets internes simples que vous construisez vous-même.

De quelle version de Python le code a-t-il besoin ?

Python 3.10 ou version ultérieure, pour la syntaxe X | None ; NotRequired dans TypedDict nécessite la version 3.11, ou typing_extensions avec les versions antérieures.

Pourquoi certains champs sont-ils typés Any ?

Une clé toujours null ou un tableau vide ne fournit aucune indication sur son type ; remplacez Any par le type réel indiqué dans la documentation de votre API.

Outil gratuit · dans votre navigateur exécutions · aucun compte requis