android - 无法反序列化通用 T 型 Moshi
问题描述
抱歉,如果这是一个基本问题,但我是 Moshi 的新手。
所以,我有一个带有通用类型参数的类,如下所示:
class BaseResponse<T> {
@Json(name = "message")
var message: String? = null
@Json(name = "data")
var data: T? = null
@Json(name = "meta")
var meta: JsonObject? = null
@Json(name = "error")
var error: ErrorResponse? = null
}
在 GSON 中,这是自动完成的,只要我提供 @SerializedName("data") 并在我的改造方法中扩展 BaseResponse 就可以工作。但由于我无法反序列化 BaseResponse,它返回了 moshi 错误。我怎样才能解决这个问题?
解决方案
在 Moshi 中,您必须将注释显式声明为字段注释,例如@field:Json(name = "message")
推荐阅读
- javascript - ReactJS 中的 HOC 和提升状态有什么区别?
- gnuplot - Gnuplot 将多个值类型组合在一个具有不同颜色和破折号的折线图中
- android - TOK BOX 屏幕共享在我的应用程序之外不起作用
- c++ - C ++中链表代码中的分段错误
- python - 查找与另一个数据框中的列具有相同非唯一列值的数据框的行
- string - 为什么在 Rust 中使用字符串文字 &str 而不是 String?
- asp.net-core - 从类型注册 BackgroundService
- python - 超过最大递归深度 google colab
- swift - 如何从关联的帐户对 Stripe 客户进行收费
- windows - Windows服务器上的xampp phpmyadmin错误代码500