【发布时间】:2019-11-27 16:17:09
【问题描述】:
我正在向 API 发出请求,响应是一个 JSON 对象,这个 json 对象包含一个字符串,它是另一个 json 对象。我正在尝试使用 kotlinx.serialization 来处理这个对象的反序列化。
我可以自己重写反序列化功能,但这会破坏使用这个库的意义
我希望这样的事情会奏效。
@Serializable
data class Foo(val data: Data)
@Serializable
data class Data(val foo: String)
对于类似下面的对象
{
"data":"{\"foo\":\"bar\"}"
}
我希望得到一个对象 Foo,其属性数据 = 对象数据,属性 foo = "bar"
但是我得到以下错误
java.lang.IllegalStateException: Expected class kotlinx.serialization.json.JsonArray (Kotlin reflection is not available) but found class kotlinx.serialization.json.JsonLiteral (Kotlin reflection is not available)
【问题讨论】:
-
嗨,@spoderbiggen 你想要这个 JSON 作为你的模型(pojo)类吗?
-
@HappySingh 是的,如果我没有在我的问题中说明这一点,我很抱歉
-
别抱歉。我已经添加了我的答案。
标签: json kotlin kotlinx.serialization