Как создать вложенный JSON с помощью сериализации Kotlinx на Kotlin native

Я создаю общую библиотеку с помощью мультиплатформы Kotlin и использую Kotlin Serialization библиотека для сериализации и десериализации, я реализую Graph QL на моем проекте, и я использую ниже структуру

{
 "operationName":"Operation",
 "query":"query Operation($id: ID){rres: Cards(id: $id){id}}",
 "variables":{"id": 1}
}

для общения с APIТеперь у меня есть вопрос, который я должен заполнить Json как Object в variables от Kotlinx.Serialization но я не нахожу для этого пути, пока заполняю varibales как строка и API получите исключение для меня.

Как мне создать вложенный Json от Kotlinx.Serialization?

0 ответов

Вам нужно создать класс для вложенных объектов Json и аннотировать его с помощью @Serializable

@Serializable
class Data(
    val operationName: String,
    val query: String,
    val variables: Variables
) {
    @Serializable
    class Variables(val id: Int)
}

Вы можете посмотреть здесь. Я думаю, что этот поток точно решает проблему сохранения объекта в виде строки Json, вложенной в другой Json.

https://github.com/Kotlin/kotlinx.serialization/issues/345