是否有一种方法可以根据响应JSON中[1]
字段的值来区分Successful
和Failed
响应?
ok
因此,对于@Serializable
sealed class Response {
@Serializable
data class Successful(
@SerialName("ok")
val ok: Boolean,@SerialName("payload")
val payload: Payload
) : Response()
@Serializable
data class Failed(
@SerialName("ok")
val ok: Boolean,@SerialName("description")
val description: String
) : Response()
}
,我想获得{"ok":true,"payload":…}
类,对于Successful
— {"ok":false,"description":…}
。
我知道存在类似的问题— Deserializing into sealed subclass based on value of field —但它使用Failed
字段,并且JSON中没有任何类型区分符(含义
type
不是类型歧视(尽管它可以用这种方式用于某些黑客))