# JSON vers Kotlin Data Class

Convertit des données JSON en data classes Kotlin avec annotations @SerializedName, gestion des nullables et inférence de types imbriqués

> Page canonique: https://elysiatools.com/fr/tools/json-to-kotlin

- **Catégorie:** Development

- **Mots-clés:** json, kotlin, data class, convertir, SerializedName

## Présentation

Cet outil convertit instantanément vos structures de données JSON en data classes Kotlin prêtes à l'emploi. Il prend en charge l'inférence automatique des types imbriqués, l'annotation @SerializedName pour la sérialisation et la gestion des propriétés nullables selon vos besoins de développement Android ou Kotlin.

## Entrées

- **Entrée JSON** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Nom du type racine** (text): Root
- **Propétés nullables** (checkbox)

## Quand l'utiliser

- Lors de l'intégration d'une nouvelle API REST dans un projet Android ou Kotlin nécessitant la création rapide de modèles de données.
- Pour mapper des réponses JSON complexes et imbriquées sans écrire manuellement des dizaines de classes Kotlin.
- Quand vous devez configurer la désérialisation de clés JSON contenant des caractères spéciaux ou des conventions de nommage différentes via @SerializedName.

## Fonctionnement

- Collez votre payload JSON brut dans la zone de saisie de texte.
- Définissez le nom de la classe racine et cochez l'option pour rendre les propriétés nullables si les données de l'API peuvent être absentes.
- Cliquez sur le bouton de conversion pour générer instantanément le code source Kotlin avec les annotations @SerializedName et les classes imbriquées extraites.

## Cas d'usage

- Modélisation rapide des réponses d'API pour les clients HTTP comme Retrofit ou Ktor.
- Migration de structures de données existantes depuis d'autres formats vers des architectures Kotlin propres.
- Génération de modèles de données robustes pour le développement d'applications Android.

## Questions fréquentes

### Comment sont gérés les objets imbriqués dans le JSON ?

L'outil détecte automatiquement les objets enfants et génère des data classes Kotlin distinctes et imbriquées pour chacun d'eux.

### À quoi sert l'option Propriétés nullables ?

Elle ajoute un point d'interrogation (?) aux types Kotlin, permettant de gérer les valeurs nulles ou absentes dans la réponse JSON.

### Les annotations @SerializedName sont-elles incluses automatiquement ?

Oui, chaque propriété est annotée avec @SerializedName pour assurer une correspondance exacte avec les clés du JSON d'origine.

### Puis-je personnaliser le nom de la classe principale ?

Oui, il vous suffit de modifier le champ Nom du type racine avant de lancer la génération.

### L'outil prend-il en charge les tableaux JSON ?

Oui, les listes et tableaux JSON sont convertis en types List en Kotlin, en inférant le type des éléments internes.

## Outils associés

- [Générateur de Data URI](https://elysiatools.com/fr/tools/data-uri-generator): Convertit les fichiers en Data URI (Base64 ou pourcentage-encodé) pour intégrer images, polices et ressources directement dans HTML, CSS ou Markdown
- [Convertisseur JSON Schema vers Zod](https://elysiatools.com/fr/tools/json-schema-to-zod-schema-converter): Convertit des definitions JSON/YAML de JSON Schema en code Zod pret a lemploi dans les projets TypeScript, avec objets imbriques, tableaux, enums et regles de validation courantes
- [JSON vers C# Class](https://elysiatools.com/fr/tools/json-to-csharp): Convertit des données JSON en classes C# avec propriétés PascalCase, attributs JsonPropertyName et inférence de types imbriqués
- [JSON vers Go Struct](https://elysiatools.com/fr/tools/json-to-go): Convertit des données JSON en définitions de struct Go avec balises json, champs PascalCase exportés et inférence de types imbriqués
- [JSON vers Java Class](https://elysiatools.com/fr/tools/json-to-java): Convertit des données JSON en classes Java avec annotations Jackson @JsonProperty, champs privés, getters et setters
- [JSON vers Rust Struct](https://elysiatools.com/fr/tools/json-to-rust): Convertit des données JSON en structs Rust avec derives serde Serialize/Deserialize, champs snake_case et attributs serde rename
- [JSON vers TypeScript](https://elysiatools.com/fr/tools/json-to-typescript): Convertit des données JSON en interfaces TypeScript ou alias de type, avec types union, champs facultatifs et inférence d'objets imbriqués
- [Convertisseur de logs en diagrammes de sequence](https://elysiatools.com/fr/tools/log-sequence-diagram-converter): Convertit des logs de services structures en diagrammes Mermaid ou PlantUML avec annotations de latence et derreur

## Exemples

- [Exemples de Sérialisation Android Kotlin](https://elysiatools.com/fr/samples/android-serialization-kotlin): Exemples de sérialisation Android Kotlin incluant la sérialisation JSON, la désérialisation et l'analyse XML
- [Exemples JSON de Terraform Plan](https://elysiatools.com/fr/samples/terraform-plan-json-samples): Fichiers Terraform plan JSON pour visualiser les dependances et revoir les changements, proches de terraform show -json
- [Exemples JSON de Chat](https://elysiatools.com/fr/samples/chat-transcript-json): Exemples JSON pour transcriptions de chat multi-rôles
- [Exemples JSON](https://elysiatools.com/fr/samples/json): Exemples de format JSON (JavaScript Object Notation) de structures simples à complexes

## Contenu associé

- [Générateurs de code typé depuis JSON (TypeScript, Go, Rust, Kotlin, Java, C#)](https://elysiatools.com/fr/hubs/json-to-typed-code-generators): Collez du JSON et obtenez des types prêts à l'emploi : interfaces TypeScript, structs Go, structs Rust avec serde, data classes Kotlin, classes Java, classes C#, schémas Zod et JSON Schema inféré.
- [Outils d interchange JSON et de traduction de formats](https://elysiatools.com/fr/hubs/json-convert): Comparez les outils de conversion JSON pour CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN et d autres formats structures dans un meme hub.
- [Outils d inspection, de diff et de transformation JSON](https://elysiatools.com/fr/hubs/json-utility): Regroupe dans un meme hub les outils de formatage JSON, comparaison, inspection de chemins, validation de schema, fusion et transformation pour les workflows API et donnees.
- [Generateurs de schemas JSON, donnees mock et fixtures API](https://elysiatools.com/fr/hubs/json-generate): Des outils reunis pour generation de schemas JSON, construction de payloads mock et preparation de fixtures API dans un seul hub.
