Json 从Kotlin中的子类获取SerializedName参数

Json 从Kotlin中的子类获取SerializedName参数,json,kotlin,gson,Json,Kotlin,Gson,我试图解析一个API响应,其结构主要如下: { "ApiFunc1":{ "SomeData1":"SomeValue1", "SomeData2":"SomeValue2", "SomeData3":"SomeValue3" } } { "ApiFunc2":{ "SomeData4":"SomeValue4", "SomeData5":"SomeValue5", "So

我试图解析一个API响应,其结构主要如下:

{
    "ApiFunc1":{
        "SomeData1":"SomeValue1",
        "SomeData2":"SomeValue2",
        "SomeData3":"SomeValue3"
    }
}


{
    "ApiFunc2":{
        "SomeData4":"SomeValue4",
        "SomeData5":"SomeValue5",
        "SomeData6":"SomeValue6"
    }
}
.
.
.
我创建了一个基类,如下所示:

class Model_BaseResponse<TResponse> : Serializable {

    @SerializedName("ErrorMessage")
    var errorMessage: String? = null

    @SerializedName("value")
    var data: TResponse? = null

}

在每个儿童班。我只是好奇而已。提前感谢您的建议。

类似于
SerializedData
的注释要求其参数为编译时常量。看看Kotlin中“编译时常量”的含义:

可以使用const修饰符将编译时已知值的属性标记为编译时常量。此类财产需要满足以下要求:

  • 对象的顶层或成员
  • 使用字符串类型或基元类型的值初始化
  • 无自定义getter
这些属性可以在注释中使用:

const val SUBSYSTEM_DEPRECATED: String = "This subsystem is deprecated"

@Deprecated(SUBSYSTEM_DEPRECATED) fun foo() { ... }
我相信第一个要求“顶级或对象成员”不能满足您的用例

const val SUBSYSTEM_DEPRECATED: String = "This subsystem is deprecated"

@Deprecated(SUBSYSTEM_DEPRECATED) fun foo() { ... }