Convertisseur JSON vers Python
Générez des dataclasses Python à partir d'un exemple JSON directement dans votre navigateur.
Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers ne sont jamais envoyés à un serveur.
from __future__ import annotations
from dataclasses import dataclass
from typing import Any, List
@dataclass
class Root:
name: str
age: int
active: bool
tags: List[str]
address: Address
@dataclass
class Address:
street: str
zip: strCe que fait ce convertisseur
Lit une valeur JSON et génère les dataclasses Python correspondantes : une `@dataclass` par forme d'objet trouvée dans l'exemple, chaque champ étant annoté selon la valeur qu'il contient.
Mode d'emploi
Collez un objet, un tableau ou une valeur primitive JSON dans l'éditeur. Une dataclass `Root` (ou un alias de type, si la racine n'est pas un objet) apparaît immédiatement, avec une dataclass supplémentaire pour chaque forme d'objet imbriquée.
Exemple
Un objet avec une chaîne `name` et un objet imbriqué `address` produit `class Root: name: str; address: Address` ainsi qu'une `class Address` distincte, nommée d'après la clé dont elle provient.
Correspondance des types
Les chaînes deviennent `str`, les nombres entiers `int`, les décimaux `float`, les booléens `bool` et les tableaux `List[ElementType]`. Les clés JSON qui ne sont pas des identifiants Python valides (contenant un tiret, par exemple) sont automatiquement converties en un nom sûr.
Objets imbriqués et listes
Chaque objet imbriqué reçoit sa propre dataclass, générée à partir de sa clé. La sortie commence par `from __future__ import annotations`, afin que les dataclasses puissent se référencer entre elles quel que soit leur ordre de définition.
Limites
Les dataclasses générées ne décrivent que l'exemple JSON fourni et n'incluent pas de moyen de les reconstruire à partir d'un dict (pas d'assistants `from_dict`/`to_dict`) — ajoutez votre propre sérialisation si nécessaire. Les tableaux d'objets sont typés uniquement à partir de leur premier élément.
Confidentialité
L'analyse et la génération de code s'exécutent entièrement dans votre navigateur. Le JSON collé et le Python généré ne sont jamais transférés.
Questions Fréquentes
- Pourquoi la sortie inclut-elle "from __future__ import annotations" ?
- Cela permet aux dataclasses générées de se référencer entre elles quel que soit leur ordre de définition, sans nécessiter de références anticipées entre guillemets.
- Cela gère-t-il les clés JSON avec des tirets ou des espaces ?
- Oui — une clé qui n'est pas un identifiant Python valide est automatiquement convertie en un nom sûr (par exemple, first-name devient first_name), même si elle ne ressemble alors plus exactement à la clé d'origine.
- Cela inclut-il du code de sérialisation/désérialisation JSON ?
- Non — seules les formes des dataclasses sont générées ; ajoutez votre propre code json.loads/dataclasses.asdict ou une bibliothèque comme dacite si nécessaire.
Outils Similaires
Convertisseur JSON vers TypeScript
Générez des interfaces TypeScript à partir d'un exemple JSON directement dans votre navigateur.
Convertisseur JSON vers Java
Générez des classes POJO Java à partir d'un exemple JSON directement dans votre navigateur.
Convertisseur JSON vers C#
Générez des classes C# à partir d'un exemple JSON directement dans votre navigateur.