Omnikit
DevFichiersFinancesTous les outils
Ctrl K
Outils pour développeursOutils pour fichiersCalculateurs financiersTous les outils
AccueilOutils pour développeursConvertisseur JSON en data classes Kotlin
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Convertisseur JSON en data classes Kotlin

dev

Transformez un échantillon JSON en data classes Kotlin pour kotlinx.serialization, Gson ou Moshi

Fonctionne dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part. Vérifié le 16 octobre 2026.

Collez un échantillon JSON et obtenez des data classes Kotlin pour kotlinx.serialization, Gson ou Moshi. Les nombres entiers deviennent Int, Long au-delà de 2 147 483 647, la moindre décimale rend une propriété Double, une valeur null la rend nullable, et une clé absente de certains objets devient T? = null pour que les 3 bibliothèques la décodent.

Cette page a été traduite automatiquement à partir de l'original anglais. Aucune personne n’a encore relu la traduction : c’est la version anglaise qui fait foi. Lire l'original en anglais

Ensuite :
  • Convertisseur JSON en classes Java Transformez un échantillon JSON en POJO, records ou classes Lombok Java annotés pour Jackson
  • Formateur et validateur JSON Formatez, validez, minifiez et triez du JSON avec la position exacte des erreurs

Comment convertir du JSON en data class Kotlin

1

Collez un échantillon JSON, par exemple une réponse d'API, dans la zone de gauche.

2

Les data classes Kotlin apparaissent pendant la saisie, une par objet, avec des propriétés en camelCase et une annotation partout où une clé diffère.

3

Choisissez kotlinx.serialization, Gson ou Moshi, var au lieu de val si besoin, et le nom de la classe racine.

4

Cliquez sur Copier, ou sur Télécharger pour enregistrer Models.kt.

À propos du Convertisseur JSON en data classes Kotlin

Kotlin lit le JSON dans des data classes, et chaque objet a besoin d'une classe dont les propriétés ont les bons types, la bonne nullabilité et un moyen de retrouver leurs clés. Ce convertisseur écrit ces classes à partir d'un échantillon : une longue réponse d'API devient du Kotlin en un seul collage.

Comment les types sont choisis.

Valeur JSON Type Kotlin
"text" String
true / false Boolean
42 (nombres entiers uniquement) Int, ou Long au-delà de 32 bits
4.5 (au moins une décimale vue) Double
null, plus un type String?, Int?
null seul, ou types mélangés JsonElement? ou Any?
[ ... ] List<...>
{ } vide JsonObject ou Map<String, Any?>
{ ... } une data class à part

Clés absentes. Tous les objets d'un tableau sont fusionnés en une seule classe. Une clé que certains omettent devient nullable avec null par défaut, car kotlinx.serialization et Moshi traitent une clé absente sans valeur par défaut comme une erreur. kotlinx.serialization rejette aussi les clés pour lesquelles il n'a pas de propriété : chaque clé de l'échantillon en reçoit donc une.

Noms. Les propriétés sont en lowerCamelCase. Quand cela change la clé, comme user_name en userName, la propriété porte @SerialName, @SerializedName ou @Json(name = ...), selon la bibliothèque. Les mots-clés comme class sont écrits entre accents graves. Les chaînes des annotations échappent le signe dollar, que Kotlin lirait sinon comme un gabarit.

Options. var au lieu de val donne des propriétés modifiables. Un objet vide devient une classe ordinaire, car une data class exige au moins une propriété. La classe racine s'appelle Root sauf si vous la nommez.

Chaque résultat a été vérifié en relisant le Kotlin et en décodant 9 échantillons avec les règles par défaut de kotlinx.serialization. Rien de ce que vous collez ne quitte le navigateur.

Questions fréquentes

Comment convertir du JSON en data class Kotlin ?

Collez un échantillon JSON dans le convertisseur et les data classes apparaissent à côté, une par objet. Avec kotlinx.serialization, ajoutez le plugin et décodez avec Json.decodeFromString<Root>(text) ; avec Gson, utilisez Gson().fromJson(text, Root::class.java) ; avec Moshi, construisez un adaptateur pour Root.

Pourquoi certaines propriétés se terminent-elles par = null ?

Une clé que certains objets d'un tableau omettent reçoit un type nullable et null par défaut. kotlinx.serialization et Moshi refusent tous deux une clé absente si la propriété n'a pas de valeur par défaut : c'est donc cette valeur qui permet de décoder chaque objet de l'échantillon.

Quelle bibliothèque choisir ?

kotlinx.serialization est celle de Kotlin, fonctionne sur toutes les plateformes Kotlin et vérifie les types à la compilation. Moshi avec codegen convient aux projets Android qui utilisent déjà Retrofit et Okio. Gson est la plus ancienne et ne demande aucune configuration, mais ignore la sûreté null de Kotlin et les valeurs par défaut en créant les objets.

Comment sont traitées les clés comme user_name ou class ?

Les propriétés sont en lowerCamelCase : user_name devient userName, avec @SerialName, @SerializedName ou @Json(name = ...) qui garde la clé d'origine. Une clé qui est un mot-clé Kotlin, comme class ou object, est écrite entre accents graves, ce qui garde la clé comme vrai nom de la propriété.

Quels types reçoivent les nombres en Kotlin ?

Les nombres entiers deviennent Int, ou Long quand une valeur dépasse 2 147 483 647, et un champ devient Double dès qu'une valeur de l'échantillon a une partie décimale. Les valeurs de natures différentes deviennent JsonElement? avec kotlinx.serialization, ou Any? avec Gson et Moshi.

Mon JSON est-il envoyé ?

Non. La conversion s'exécute dans votre navigateur sans aucune requête vers un serveur, et le JSON n'est pas conservé : les réponses d'API contenant des jetons ou des données personnelles restent sur votre appareil. Fermez l'onglet et il ne reste rien.

Sources

  • Kotlin documentation, keywords and operatorsHard keywords that need backticks as names
  • Kotlin documentation, coding conventions: naming rulesUpperCamelCase classes, lowerCamelCase properties
  • kotlinx.serialization guide, basic serialization@SerialName, optional properties need defaults, unknown keys are errors
  • Moshi README, Kotlin codegen@JsonClass(generateAdapter = true) and @Json(name = ...)

Dernière vérification le 16 octobre 2026.

Les taux et les règles changent ; vérifiez la source avant de vous fier à un chiffre.

Toujours bloqué ? Poser une question sur Convertisseur JSON en data classes Kotlin et toute personne qui connaît la réponse peut répondre. Aucun compte nécessaire.

Outils associés

Tous les outils pour développeurs
Encoder et décoder en Base64Texte et fichiers vers Base64 et retour, avec mode sûr pour les URL et aperçu des imagesConvertisseur de timestamp UnixDes timestamps Unix vers des dates et des dates vers des timestamps, dans tout fuseau horaireJSON vers TypeScriptGénérez des interfaces ou des types TypeScript à partir d'un exemple JSONConvertisseur CSV en JSONConvertissez CSV en JSON et JSON en CSV, avec un aperçu en tableauConvertisseur YAML en JSONConvertissez YAML en JSON et JSON en YAML, avec les ancres résoluesEncodeur et décodeur d'URLEncodez ou décodez textes et URL en encodage pourcent, et voyez chaque partie d'un lienConvertisseur de bases numériquesBinaire, octal, décimal, hexadécimal et toute base jusqu'à 36, exact quelle que soit la taille, avec complément à deuxColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Cet outil vous a-t-il été utile ?
Omnikit

Les petites tâches, faites dans votre navigateur. Gratuit, rapide et privé. Les fichiers ne sont jamais envoyés.

Fichiers

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finances

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuidesQuestionsÀ proposNos vérificationsBibliothèque juridique (bêta)ConfidentialitéConditionsTransparenceContactMore: Exam practice (UGC NET Paper 1)Fonctionne dans votre navigateur. Rien n'est envoyé. © 2026 Omnikit (theomnikit.com)