1. Обзор
В этом коротком руководстве мы обсудим, как преобразовать класс данных в Kotlin в строку JSON и наоборот, используя библиотеку Gson Java.
2. Зависимость от Maven
Прежде чем мы начнем, давайте добавим Gson в наш pom.xml:
com.google.code.gson gson 2.8.5
3. Класс данных Kotlin
Прежде всего, давайте создадим класс данных, который мы преобразуем в строку JSON в следующих частях статьи:
data class TestModel( val id: Int, val description: String )
Класс TestModel состоит из двух атрибутов: id и name . Следовательно, строка JSON, которую мы ожидаем от Gson, будет выглядеть так:
{"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")
Здесь мы конвертируем строку JSON в объект TestModel , сообщая Gson использовать TestModel :: class.java, поскольку Gson является библиотекой Java и принимает только класс Java .
Наконец, мы проверяем, содержит ли объект результата правильные значения в исходной строке.
6. Заключение
В этой быстрой статье мы обсудили, как использовать Gson в Kotlin для преобразования класса данных Kotlin в строку JSON и наоборот.
Все примеры, как всегда, можно найти на GitHub.