Ce que fait ce générateur de types JSON
Écrire des classes de modèle à la main pour une grande réponse API est lent et sujette à erreurs. Collez un échantillon JSON et cet outil infère un modèle de type complet et l'imprime comme Go structs avec des balises json, Rust structs avec des dérivés serde, schémas Zod, modèles Pydantic, classes de données Kotlin, enregistrements Java, classes C #, structures Swift Codable ou interfaces TypeScript. Les objets imbriqués deviennent leurs propres types nommés, les tableaux d'objets sont fusionnés de sorte que chaque champ vu dans n'importe quel élément est capturé, et l'inférence s'exécute dans un Web Worker afin que même des échantillons de plusieurs mégaoctets ne gelent pas la page.
Mode d'emploi
- Coller JSON dans l'entrée ou charger l'échantillon.
- Définir le nom de type de racine, par exemple
UserouOrderResponse. - Sélectionnez l'onglet langue cible. La sortie se régénère instantanément.
- Copiez le code dans votre projet et ajustez les noms ou les types où votre connaissance du domaine est supérieure à l'inférence.
Comment fonctionne l'inférence
- ** Champs facultatifs:** si une clé manque dans certains éléments d'un tableau, elle est marquée comme facultative (
?dans TS,Option<T>dans Rust,omitemptydans Go,= Nonedans Pydantic). - ** champs annulés:** une valeur
nullrend le champ nul dans la langue cible. - Nombres: Les entiers et les flottants sont tracés séparément, de sorte que
42devientint64/i64/Longtandis que4.2devient un type de flottant. - Types mixtes: lorsque le même champ contient différents types, les langages avec des unions (TypeScript, Zod, Pydantic) obtiennent une union, et les autres reviennent à un type de valeur JSON générique.
- Nommage: Les touches telles que
user_idoucreated-atsont converties en noms de champs idiomatiques par langue, la clé originale étant conservée dans des balises ou des annotations (json:"user_id",#[serde(rename)],@SerialName,CodingKeys).
Des conseils
- Donnez-lui un échantillon représentatif. Un seul objet avec un tableau vide ne dit rien à l'outil sur les éléments du tableau.
- Mélanger plusieurs réponses dans un tableau de niveau supérieur pour capturer des champs optionnels de manière fiable.
- La sortie Zod exporte à la fois le schéma et le type déduit, donc vous obtenez la validation en temps d'exécution et la saisie statique ensemble.