1. ホーム
  2. java

[解決済み] GSONを使ったJsonからのKotlinデータクラス

2022-06-23 03:53:28

質問

このようなJavaのPOJOクラスがあります。

class Topic {
    @SerializedName("id")
    long id;
    @SerializedName("name")
    String name;
}

で、Kotlinのデータクラスはこんな感じです。

 data class Topic(val id: Long, val name: String)

をどのように提供するか json key の任意の変数に kotlin data class のように @SerializedName のアノテーションのようなものですか?

どのように解決するのですか?

データクラスです。

data class Topic(
  @SerializedName("id") val id: Long, 
  @SerializedName("name") val name: String, 
  @SerializedName("image") val image: String,
  @SerializedName("description") val description: String
)

をJSONに変換します。

val gson = Gson()
val json = gson.toJson(topic)

をJSONから変換します。

val json = getJson()
val topic = gson.fromJson(json, Topic::class.java)