GSONを使用してJSONからKotlinデータクラスを変換する

GSONを使用してJSONからKotlinデータクラスを変換する

1. 概要

この短いチュートリアルでは、convert a data class in Kotlin to JSON string and vice versa using Gson Java library.を実行する方法について説明します。

2. メーベン依存

始める前に、pom.xml:Gsonを追加しましょう


    com.google.code.gson
    gson
    2.8.5

3. KotlinData Class

まず、記事の後半でJSON文字列に変換するdata classを作成しましょう。

data class TestModel(
    val id: Int,
    val description: String
)

TestModelクラスは、idnameの2つの属性で構成されています。 したがって、Gsonから予想されるJSON文字列は次のようになります。

{"id":1,"description":"Test"}

4. Data ClassからJSON文字列への変換

これで、Gsonをconvert objects of TestModel class to JSONに使用できます。

var gson = Gson()
var jsonString = gson.toJson(TestModel(1,"Test"))
Assert.assertEquals(jsonString, """{"id":1,"description":"Test"}""")

この例では、Assertを使用して、Gsonからの出力が期待値と一致するかどうかを確認しています。

5. JSON文字列からData Classへの変換

もちろん、convert from JSON to data objectsが必要な場合もあります。

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にTestModel::class.java asGson is a Java library and only accepts Java classを使用するように指示することで、JSON文字列をTestModelオブジェクトに変換しています。

最後に、結果オブジェクトの元の文字列に正しい値が含まれているかどうかをテストします。

6. 結論

この簡単な記事では、KotlinでGsonを使用してKotlindata classをJSON文字列に変換する方法とその逆の方法について説明しました。

すべての例は、いつものように、over on GitHubで見つけることができます。