给定json如下所示,payload
对象的结构将发生变化:
{
"id": 1,
"displayName": "Success",
"payload": {
"someProperty": "example",
"someOtherProperty": {
"someNestedProperty": "example"
}
}
}
...使用kotlinx.serialization
如何将其反序列化为以下数据类,其中的值payload
应为有效负载对象的原始json字符串。
@Serializable
data class Stub(
val id: Int,
val displayName: String,
val payload: String
)
努力寻找一种使用Serializers进行此操作的方法,但是使用手动实现就足够简单了JsonElement
。
val jsonObject = Json.parseToJsonElement(jsonString).jsonObject
val stub = Stub(
jsonObject["id"]!!.jsonPrimitive.int,
jsonObject["displayName"]!!.jsonPrimitive.content,
jsonObject["payload"]!!.toString()
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句