小编Spi*_*gen的帖子

从 json 值解析 JSON 对象字符串

我正在向 API 发出请求,响应是一个 JSON 对象,该 json 对象包含一个字符串,该字符串是另一个 json 对象。我正在尝试使用 kotlinx.serialization 来处理该对象的反序列化。

我可以自己重写反序列化功能,但这违背了使用这个库的意义

我希望这样的事情能够奏效。

@Serializable
data class Foo(val data: Data)

@Serializable
data class Data(val foo: String)
Run Code Online (Sandbox Code Playgroud)

对于类似以下对象的东西

{
  "data":"{\"foo\":\"bar\"}"
}
Run Code Online (Sandbox Code Playgroud)

我期望获得一个具有属性 data = Object Data 且属性 foo = "bar" 的对象 Foo

但是我收到以下错误

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)
Run Code Online (Sandbox Code Playgroud)

json kotlin kotlinx.serialization

6
推荐指数
1
解决办法
6136
查看次数

标签 统计

json ×1

kotlin ×1

kotlinx.serialization ×1