J'ai une classe Java POJO comme celle-ci:
class Topic {
@SerializedName("id")
long id;
@SerializedName("name")
String name;
}
et j'ai une classe de données Kotlin comme celle-ci
data class Topic(val id: Long, val name: String)
Comment fournir le json key
à des variables kotlin data class
similaires à l' @SerializedName
annotation dans les variables Java?
Réponses:
Classe de données:
vers JSON:
depuis JSON:
la source
Basé sur la réponse d' Anton Golovin
Détails
Solution
Usage
Classe de données
Depuis JSON
Vers JSON
la source
SerializedName
annotation au lieu de la stratégie de dénomination de champ, Vasily?@SerializedName
me permettra d'utiliser des noms personnalisés des variables qui peuvent ne pas correspondre à la clé json. Et oui, vous ne pouvez pas utiliser@SerializedName
si vous n'en avez pas besoin.Vous pouvez utiliser similaire dans la classe Kotlin
Et aussi pour la classe imbriquée, vous pouvez utiliser la même chose comme s'il y a un objet imbriqué. Fournissez simplement le nom de sérialisation de la classe.
donc si obtenir une réponse du serveur, chaque clé sera mappée avec JOSN.
Alos, convertissez la liste en JSON:
ndroid convertir de JSON en objet:
la source