如何在 Kotlin 本机上通过 Kotlinx 序列化创建嵌套 JSON



我通过 Kotlin 多平台创建了一个共享库,我使用Kotlin Serialization库进行序列化和反序列化,我在我的项目上实现Graph QL,我使用以下结构

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

为了与API进行通信,现在我有一个问题,我应该通过Kotlinx.Serialization variablesJson作为Object填写,但是当我varibales填充为字符串时,我找不到办法,API得到例外。

如何通过 Kotlinx.Serialization 创建嵌套的 Json?

你需要

为嵌套的 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#issuecomment-457545923

相关内容

  • 没有找到相关文章

最新更新