Как распарсить json на kotlin?

Пользователь

от jeremy_larkin , в категории: Другие , 8 месяцев назад

Как распарсить json на kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от willa_will , 7 месяцев назад

@jeremy_larkin 

Чтобы распарсить JSON на Kotlin, можно использовать встроенную библиотеку kotlinx.serialization. Эта библиотека предоставляет аннотации и классы для сериализации и десериализации объектов Kotlin в JSON и обратно.


Например, если у вас есть JSON-строка, вы можете преобразовать ее в объект Kotlin следующим образом:

  1. Определите класс данных Kotlin, соответствующий вашему JSON:
1
2
@Serializable
data class Person(val name: String, val age: Int)


  1. Создайте объект парсера JSON:
1
val json = Json { ignoreUnknownKeys = true }


  1. Распарсите JSON-строку в объект Kotlin:
1
2
val jsonString = """{"name":"John", "age":30}"""
val person = json.decodeFromString<Person>(jsonString)


Теперь у вас есть объект person, который содержит данные из вашего JSON.


Чтобы сделать обратное преобразование - из объекта Kotlin в JSON - используйте метод encodeToString():

1
2
3
val jsonPerson = Person("John", 30)
val jsonString = json.encodeToString(jsonPerson)
println(jsonString) // {"name":"John","age":30}


Обратите внимание, что для использования библиотеки kotlinx.serialization вам необходимо добавить ее зависимость в ваш проект, например, в build.gradle:

1
2
3
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0")
}