Comment utiliser JSON vers types
- 1
Collez des échantillons JSON
Collez une réponse, un tableau d’enregistrements ou plusieurs réponses à la suite ; l’exemple montre deux utilisateurs fusionnés.
- 2
Choisissez le langage
Choisissez TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift ou Rust, puis les options de style correspondantes.
- 3
Nommez le type racine
Indiquez le nom du type de premier niveau, par exemple User ou OrderResponse.
- 4
Générez et copiez
Cliquez sur Générer les types, puis copiez le code ou téléchargez-le ; vos modifications le régénèrent automatiquement.
Limites et Pro
Gratuit et sans inscription : 9 langages de sortie avec 3 styles Python, un nombre illimité d’échantillons fusionnés et des fichiers jusqu’à 20 Mo, avec une génération interrompue après 30 secondes.
Pro supprime les publicités ; le générateur est identique quelle que soit l’offre. Découvrir Pro
À propos de JSON vers types
Écrire à la main les types d’une réponse d’API est long et source d’erreurs, surtout quand les données sont imbriquées sur trois niveaux. Collez un ou plusieurs échantillons JSON : ce générateur déduit la structure et produit des définitions prêtes à coller dans neuf variantes : interfaces ou alias de type TypeScript, TypeScript avec schémas Zod pour la validation à l’exécution, structs Go avec tags json, dataclasses, TypedDict ou modèles Pydantic v2 pour Python, records Java avec annotations Jackson, classes C# pour System.Text.Json, data classes Kotlin pour kotlinx.serialization, structs Swift Codable et structs Rust pour serde.
Un seul échantillon montre rarement tous les champs : le générateur fusionne donc tous ceux que vous lui donnez. Collez plusieurs documents à la suite, au format JSON Lines, ou un tableau d’objets : une clé absente de certains objets devient facultative, une clé parfois null devient nullable, un entier parfois décimal devient un flottant, et les valeurs vraiment hétérogènes deviennent une union ou le type JSON dynamique du langage. Les objets imbriqués reçoivent leur propre type nommé (orders devient Order, addresses devient Address), et les structures identiques ne sont générées qu’une fois puis réutilisées. Les objets dont les clés sont des nombres, des UUID ou des dates sont transformés en maps.
Les noms de champs sont convertis selon les conventions de chaque langage, et les clés JSON qui diffèrent, comme first-name ou class, sont rattachées au bon nom grâce à l’annotation, à l’alias ou aux CodingKeys appropriés. Les commentaires et les virgules finales de l’échantillon sont tolérés.
Le résultat décrit les échantillons que vous fournissez ; le générateur ne peut pas connaître les champs ou valeurs absents de vos échantillons. Comparez-le donc à la documentation de votre API avant de vous y fier.
Confidentialité
Les échantillons sont analysés et le code est généré par un Web Worker dans cet onglet : les réponses d’API contenant des données personnelles ou internes ne sont jamais envoyées. Les options de langage et de nommage sont enregistrées dans le stockage local ; le JSON que vous collez n’est pas conservé.
Fonctionnalités
Fusion de plusieurs échantillons
Les clés manquantes deviennent facultatives et les valeurs null nullables, sur l’ensemble des échantillons collés.
9 langages
TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift et Rust, avec des noms conformes aux conventions de chacun.
Correspondance des clés incluse
Les tags json, alias, @SerialName, @JsonProperty et CodingKeys conservent les noms JSON d’origine.