如何创建通用模型类解析Json与reffit2 ?



所有API响应json结构符如下:{"data" {…},"meta" {…}}

但是所有API在datameta中都有不同的嵌套json。我需要使通用父json模型类。这是我的情况:
class FirstJsonModel{

@SerializedName("data")
var data: FirstData? = null
@SerializedName("meta")
var meta: FirstMeta? = null
}
class FirstData {
}
class FirstMeta {
}

class SecondJsonModel {

@SerializedName("data")
var data: SecondData? = null
@SerializedName("meta")
var meta: SecondMeta? = null
}
class SecondData {
}
class SecondMeta {
}

考虑到您共享的代码,您可以使用泛型类来实现这一点-

class ApiResponseModel<T> {
@SerializedName("data")
var data: T? = null
}

class ApiResponseModel<T1, T2> {
@SerializedName("data")
var data: T1? = null
@SerializedName("meta")
var meta: T2? = null
}

如果你想在Data Classes中使用is,你可以这样做-

data class ApiResponseModel<T1, T2> (
@SerializedName("data")
var data: T1? = null,
@SerializedName("meta")
var meta: T2? = null
)

希望这对你有帮助!

使用泛型类

data class Hello<D,M>(
@SerializedName("data")
var data: D? = null,
@SerializedName("meta")
var meta: M? = null
)

相关内容

  • 没有找到相关文章

最新更新