DT Dev Tools

Convertir JSON en Kotlin — GĂ©nĂ©rateur de data classes

Convertissez du JSON en data classes Kotlin pour kotlinx.serialization, Jackson ou Klaxon, avec types nullables et classes imbriquées. Gratuit, rapide et privé.

🔒 S'exĂ©cute entiĂšrement dans votre navigateur — rien n'est envoyĂ©

Publicité

Des data classes Kotlin Ă  partir d'un exemple de JSON

Les data classes Kotlin conviennent naturellement aux charges utiles JSON, mais les saisir pour une grosse rĂ©ponse — surtout sur Android, oĂč chaque Ă©cran semble appeler un nouvel endpoint — est fastidieux. Ce convertisseur JSON vers Kotlin les gĂ©nĂšre Ă  partir d'un exemple. Chaque objet devient une data class avec des propriĂ©tĂ©s val, les clĂ©s sont converties en camelCase avec des annotations qui prĂ©servent les noms JSON d'origine, les objets imbriquĂ©s deviennent leurs propres classes, et les tableaux deviennent List<T>. Les champs absents ou null dans certains exemples deviennent des types nullables : vous obtenez la null-safety de Kotlin exactement sur les propriĂ©tĂ©s qui en ont besoin.

L'infĂ©rence de types vient de quicktype, qui fusionne chaque Ă©lĂ©ment de chaque tableau. Les champs optionnels prĂ©sents dans quelques Ă©lĂ©ments seulement sont tout de mĂȘme capturĂ©s, ce qui Ă©vite les Ă©checs Ă  l'exĂ©cution quand le dĂ©sĂ©rialiseur rencontre une clĂ© inconnue du modĂšle.

kotlinx.serialization, Jackson ou Klaxon

La sortie par dĂ©faut cible kotlinx.serialization, la bibliothĂšque multiplateforme de JetBrains : les classes sont annotĂ©es avec @Serializable et les clĂ©s avec @SerialName. Les projets cĂŽtĂ© serveur basĂ©s sur Spring prĂ©fĂšrent souvent Jackson, qui gĂ©nĂšre des annotations @JsonProperty et un utilitaire ObjectMapper. Klaxon est une alternative lĂ©gĂšre que certains projets Android utilisent encore. Si vous comptez cĂąbler vous-mĂȘme la sĂ©rialisation, cochez Data classes only. DĂ©finissez le nom du package pour que le fichier compile directement.

Conseils pour des modĂšles Kotlin propres

Donnez au convertisseur un exemple complet — plusieurs Ă©lĂ©ments de tableau, champs optionnels renseignĂ©s, objets imbriquĂ©s non vides — pour que la nullabilitĂ© et les types soient correctement infĂ©rĂ©s. Renommez la classe racine d'aprĂšs votre domaine avant de tĂ©lĂ©charger. Envisagez ensuite de remplacer les chaĂźnes Ă  valeurs connues par des types enum class, d'utiliser Instant ou LocalDate lorsque votre sĂ©rialiseur les gĂšre, et d'ajouter des valeurs par dĂ©faut aux champs que votre API omet. La gĂ©nĂ©ration s'effectue entiĂšrement dans votre navigateur : vous pouvez coller sans souci de vraies rĂ©ponses capturĂ©es pendant le dĂ©bogage.

Comment utiliser

  1. Collez le JSONCollez un objet ou un tableau JSON, ou chargez l'exemple.
  2. Choisissez un sérialiseurSélectionnez kotlinx.serialization, Jackson ou Klaxon et définissez le package.
  3. Copiez les data classesCopiez le code Kotlin ou téléchargez-le sous forme de fichier .kt.

Questions fréquemment posées

Quelles bibliothÚques de sérialisation sont prises en charge ?
kotlinx.serialization (par défaut), Jackson et Klaxon. Chacune produit les bonnes annotations et le code utilitaire pour la bibliothÚque concernée.
Comment les champs nullables sont-ils typés ?
Les champs nuls ou absents dans certains exemples sont déclarés avec un type nullable comme String? et une valeur par défaut null.
Puis-je obtenir des data classes sans annotations ?
Oui. Cochez Data classes only pour générer de simples data classes Kotlin sans code propre à un sérialiseur.
Le JSON quitte-t-il mon navigateur ?
Non. Toute l'analyse et la génération s'exécutent en local sur votre appareil.
Publicité