Java 使用改进解析键值对

Java 使用改进解析键值对,java,android,kotlin,retrofit,retrofit2,Java,Android,Kotlin,Retrofit,Retrofit2,上面是我想要解析的响应,但我不想为它创建一个静态POJO。模型应该是动态的,这样即使在上面的响应中有另一个键值对,如下图所示,也可以解析响应。我想可以使用HashMap { "result": "success", "response_code": 200, "message": "data list", "data": [ {

上面是我想要解析的响应,但我不想为它创建一个静态POJO。模型应该是动态的,这样即使在上面的响应中有另一个键值对,如下图所示,也可以解析响应。我想可以使用
HashMap

{
    "result": "success",
    "response_code": 200,
    "message": "data list",
    "data": [
        {
            "Assigned": "14",
            "Closed": "150",
            "Escalated TTO": "102",
            "Escalated TTR": "2",
            "New": "44",
            "Pending": "4",
            "Resolved": "14"
        }
    ]
}

正如评论中所讨论的,理想的场景是
地图
。这些模型可能看起来像(假设您使用的是Gson,其他模型应该类似):

数据类响应(
@SerializedName(“结果”)
val结果:字符串,
@序列化名称(“响应代码”)
val响应代码:Int,
@SerializedName(“消息”)
val消息:字符串,
@SerializedName(“数据”)
val数据:列表
)

正如评论中所讨论的,理想的场景是
地图。这些模型可能看起来像(假设您使用的是Gson,其他模型应该类似):

数据类响应(
@SerializedName(“结果”)
val结果:字符串,
@序列化名称(“响应代码”)
val响应代码:Int,
@SerializedName(“消息”)
val消息:字符串,
@SerializedName(“数据”)
val数据:列表
)

看看这个,你的意思是只返回
Map
?@Fred,因为键和值都是字符串,所以可能是“Map”,这就是我问的原因。它是否仅用于
数据
?如果它是整个响应,那么
数据
就不是一个
字符串
,而是一个对象。很抱歉,这只是为了数据。我只想知道如何构造我的模型,以便成功地解析它。看看这个,你的意思是只返回
映射
?@Fred,因为键和值都是字符串,所以很可能是“映射”这就是我问的原因。它是否仅用于
数据
?如果它是整个响应,那么
数据
就不是一个
字符串
,而是一个对象。很抱歉,这只是为了数据。我只想知道如何构造我的模型,以便成功地解析它。这就是我想要的。非常感谢:)这就是我想要的。非常感谢:)
{
    "result": "success",
    "response_code": 200,
    "message": "data list",
    "data": [
        {
            "Assigned": "14",
            "Closed": "150",
            "Escalated TTO": "102",
            "Escalated TTR": "2",
            "New": "44",
            "Pending": "4",
            "Resolved": "14",
            "xx": "xx",
            "xx": "xx",
            "xx": "xx",


        }
    ]
}
data class ApiResponse(
  @SerializedName("result")
  val result: String,
  @SerializedName("responseCode")
  val responseCode: Int,
  @SerializedName("message")
  val message: String,
  @SerializedName("data")
  val data: List<Map<String, String>>
)