Génération de types

générateur de classes JSONun exemple, cinq formes de modèle

L’exemple montre deux enregistrements différents. Choisissez la langue et le nom du type racine.

générateur de classes JSON

Entrée JSON

Le JSON est analysé dans ce navigateur; aucun échantillon n’est téléversé ni enregistré.

Modèle généré · Rust

Options du modèle

Tous les objets du tableau sont examinés. Les champs absents ou null deviennent facultatifs; vérifiez les types inconnus.

2 déclarations · 2 types facultatifs

Le générateur de classes JSON sert à poser rapidement un premier modèle à partir d’une réponse API. Un tableau de plusieurs objets révèle les champs qui n’apparaissent qu’après le premier élément.

Le code produit reste une ébauche à relire. Un échantillon ne prouve ni les règles métier, ni les futurs champs, ni la précision décimale, ni la configuration de sérialisation du projet.

Pourquoi ce générateur de classes JSON ?

Rassembler tous les objets

Le générateur de classes JSON inspecte chaque entrée du tableau principal. Un champ présent seulement plus tard ne disparaît pas; s’il manque ailleurs, le modèle le marque facultatif.

Deux cartes d’objet aux champs différents fusionnent en une carte de modèle; un cercle vide marque le champ facultatif.

Changer de langage sans ressaisir

Le même JSON local produit des structures Rust, des classes C#, Dart ou PHP, ainsi que des case classes Scala. L’extension du fichier suit la sélection.

Une carte de données se ramifie vers plusieurs cartes de code aux structures différentes.

Fournir des exemples utiles à l’inférence

01

Inclure des réponses variées

Placez plusieurs objets du même type de réponse dans un tableau racine. Les clés présentes dans certains objets deviennent facultatives; les tableaux imbriqués sont aussi parcourus.

02

Lire le contrat de chaque sortie

Rust utilise Serde, C# les attributs System.Text.Json et Dart inclut fromJson/toJson. Les déclarations PHP et Scala demandent encore un code de lecture ou un codec dans votre projet.

03

Exporter le résultat actuel

La génération automatique attend 350 ms après une modification. Désactivez-la pour afficher le bouton, ou utilisez Ctrl/Cmd+Entrée. Toute modification désactive aussitôt la copie et le téléchargement.

Modèles produits dans chaque langage

Clés conservées en Rust et C#

La structure Rust possède serde rename, Option et Vec. La classe C# emploie JsonPropertyName pour retrouver la clé JSON originale et des propriétés nullable lorsque l’exemple le justifie.

Méthodes Dart explicites

Le modèle Dart fournit des champs typés et fromJson/toJson pour les objets et listes imbriqués. Vérifiez ce code dans votre environnement Flutter ou Dart réel. Les classes imbriquées gardent leur nom propre.

Déclarations PHP et Scala

PHP 8 reçoit des propriétés typées et des annotations pour les éléments de tableau. Une Scala case class utilise Option et List; aucun codec complet n’est fourni.

Inférence sans arrondir avant lecture

Ce générateur de classes JSON examine les jetons numériques d’origine. Un grand entier ou un décimal ne devient pas un entier étroit par simple approximation JavaScript.

Ce qu’un échantillon ne démontre pas

Cinq cibles effectivement disponibles
Rust, C#, Dart, PHP et Scala sont les seules options. Des outils dédiés couvrent TypeScript, Go, Java, Python et Swift; aucune langue non implémentée n’est présentée comme utilisable.
Ni schéma ni chargement par URL
Les contraintes required, les bornes et les références de JSON Schema ou OpenAPI ne sont pas appliquées. La page ne récupère pas d’URL et ne déduit pas de règles métier absentes.
Contrôler les nombres larges
Les entiers hors de la plage signée 64 bits et les décimaux reçoivent des types plus larges. La fidélité d’un aller-retour dépend ensuite du sérialiseur du projet.
Déclaration et désérialisation diffèrent
json_decode ne remplit pas automatiquement les propriétés PHP; Scala demande un codec et Rust les dépendances Serde. Aucun code généré n’est compilé ni exécuté ici.
JSON strict et limites finies
Commentaires, clés en double, virgules finales et tableaux racine mêlant objets et autres valeurs sont refusés. Limites: 500 000 caractères, profondeur 100, 50 000 nœuds et 1 000 000 caractères de sortie.

Questions sur le générateur de classes JSON

Comment générer des classes à partir d'une réponse JSON ?

Collez un objet JSON représentatif ou plusieurs objets semblables dans un tableau. Le générateur construit alors une déclaration racine et des types imbriqués à relire dans votre projet.

Les classes générées gèrent-elles les objets imbriqués ?

Oui. Chaque objet imbriqué avec des champs devient un modèle nommé. Le nom est déduit de son parent et de sa clé, puis doit être revu selon les conventions de votre code.

Comment les tableaux sont-ils typés ?

Tous les éléments visibles contribuent au type de la liste. Si un champ manque dans certains objets, il devient facultatif; les types incompatibles utilisent un type plus large.

Faut-il un outil de compilation pour utiliser le résultat ?

Non. La page produit du code source mais ne le compile pas. Utilisez l’outillage et les dépendances de votre langage pour vérifier le résultat téléchargé.

Peut-on choisir le nom de la classe racine ?

Oui. Le nom par défaut est Root. Un nom ASCII commençant par une majuscule régénère les déclarations et le nom du fichier.

Un cas de données manque ?

Créer une ébauche avec le générateur de classes JSON

Essayez le générateur de classes JSON avec plusieurs réponses réalistes, examinez les champs facultatifs et les noms, puis testez le fichier dans votre projet.