GSONを使用してJSONからKotlinデータクラスを変換する
1. 概要
この短いチュートリアルでは、GsonJavaライブラリを使用してKotlinのデータクラスをJSON文字列に変換する方法とその逆の方法について説明します。
2. Mavenの依存関係
始める前に、 Gsonをpom.xml:に追加しましょう。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
3. Kotlinデータクラス
まず、記事の後半でJSON文字列に変換するデータクラスを作成しましょう。
data class TestModel(
val id: Int,
val description: String
)
TestModel クラスは、idとnameの2つの属性で構成されています。 したがって、Gsonに期待するJSON文字列は次のようになります。
{"id":1,"description":"Test"}
4. データクラスからJSON文字列への変換
これで、Gsonを使用してTestModelクラスのオブジェクトをJSONに変換できます。
var gson = Gson()
var jsonString = gson.toJson(TestModel(1,"Test"))
Assert.assertEquals(jsonString, """{"id":1,"description":"Test"}""")
この例では、 Assert を使用して、Gsonからの出力が期待値と一致するかどうかを確認しています。
5. JSON文字列からデータクラスへの変換
もちろん、JSONからデータオブジェクトに変換する必要がある場合もあります。
var jsonString = """{"id":1,"description":"Test"}""";
var testModel = gson.fromJson(jsonString, TestModel::class.java)
Assert.assertEquals(testModel.id, 1)
Assert.assertEquals(testModel.description, "Test")
ここでは、 GsonはJavaライブラリであり、Javaクラスのみを受け入れるため、 TestModel :: class.java を使用するようにGsonに指示することにより、JSON文字列をTestModelオブジェクトに変換しています。 。
最後に、結果オブジェクトに元の文字列に正しい値が含まれているかどうかをテストします。
6. 結論
この簡単な記事では、KotlinでGsonを使用してKotlin データクラスをJSON文字列に、またはその逆に変換する方法について説明しました。
すべての例は、いつものように、GitHubのにあります。