0

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

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

为了与 进行通信API,现在我有一个问题,我应该将 a 填写Json为by,Object但是当我填写为 String 并获得例外时,我找不到解决方法。variablesKotlinx.SerializationvaribalesAPI

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

4

2 回答 2

2

您需要为嵌套的 Json 对象创建一个类并使用 @Serializable 对其进行注释

@Serializable
class Data(
    val operationName: String,
    val query: String,
    val variables: Variables
) {
    @Serializable
    class Variables(val id: Int)
}
于 2019-11-29T21:07:21.833 回答
0

你可能想看看这里。我认为这个线程完全解决了将对象存储为 Json 字符串的问题,该字符串嵌套在另一个 Json 中。

https://github.com/Kotlin/kotlinx.serialization/issues/345#issuecomment-457545923

于 2020-01-22T16:31:55.053 回答