android - 无法反序列化通用T型Moshi

标签 android kotlin gson 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")

关于android - 无法反序列化通用T型Moshi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60864541/

相关文章:

android - SharedPreference 或 SQLite 数据库

java - 如何从 Activity 中获取偏好值?

android - 如何设置 Android TableRow 列的宽度以填充可用空间?

android - 为什么我的 Android 应用程序不请求安装权限?

kotlin - 导航组件 : How to clear back stack WHEN NAVIGATING FROM FRAGMENT TO ACTIVITY?

java - 为什么 CloudWatchConfig 接口(interface)需要一个步骤持续时间的字符串

java - GSON 解析器在循环 json 时跳过对象

java - Gson:应为 begin_array 但为 STRING

operator-overloading - 如何在不进行子类化的情况下将运算符扩展添加为特定类的上下文的一部分?

java - 使用 GSON 序列化时出现 "declares multiple JSON fields named"错误