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