Kotlin:
Работа с JSON
Как это делается:
Для работы с JSON в Kotlin можно использовать библиотеку kotlinx.serialization
. Вот простой пример сериализации и десериализации класса данных.
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.encodeToString
import kotlinx.serialization.decodeFromString
@Serializable
data class User(val name: String, val age: Int)
fun main() {
val json = Json { prettyPrint = true }
val userData = User("Джон Доу", 30)
// Сериализация в JSON
val jsonString = json.encodeToString(userData)
println(jsonString)
// Десериализация из JSON
val userObj = json.decodeFromString<User>(jsonString)
println(userObj)
}
Пример вывода:
{
"name": "Джон Доу",
"age": 30
}
User(name=Джон Доу, age=30)
Глубже
Простой синтаксис JSON имеет корни в JavaScript, но теперь он независим от языка. Альтернативы, такие как XML, более многословны. При работе с JSON в Kotlin библиотека kotlinx.serialization
берет на себя основную работу, автоматически преобразуя объекты Kotlin в JSON и обратно с помощью аннотаций. Она поддерживает сложные типы данных и обрабатывает особые случаи, но если вам нужен более тесный контроль, ручной анализ JSON тоже является вариантом.
Смотрите также
- Руководство по сериализации Kotlin: https://kotlinlang.org/docs/serialization.html
- Введение в JSON: https://www.json.org/json-en.html