gpt4 book ai didi

android - 改造和 Moshi : parsing variable name objects

转载 作者:行者123 更新时间:2023-11-29 16:45:13 25 4
gpt4 key购买 nike

我正在使用 Retrofit 2 和 Moshi 从端点读取和解析 JSON。我的改造实例是这样定义的:

val retrofit: Retrofit = Retrofit.Builder()
.baseUrl("https://myendpoint.com")
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(MoshiConverterFactory.create())
.build()

我正在使用 Kotlin 数据类将信息存储在模型中:

@GET("data/getlist")
fun getData(): Single<Data>

数据类:

data class Data(val Response : String,
val Message : String,
val BaseImageUrl : String)

现在,因为 JSON 的格式是这样的,所以 JSON 被解析并且模型被填充得很好:

{
"Response": "Success",
"Message": "Api successfully returned",
"BaseImageUrl": "https://www.endpoint.com/image/xxx.jpg",
}

这是因为对象与模型 1:1 映射。所以在上面的例子中,“Response”键映射到数据类中的“Response”变量名。

我的问题是:如果键都是可变的怎么办?您如何在 Kotlin 数据类中表示它?

要解析的示例 JSON 文件:

{
"RandomX": "xxxxxx",
"RandomY": "yyyyyy",
"RandomZ": "zzzzzz",
}

最佳答案

正如@eric-cochran 所指出的,您实际上并不需要一个新的数据类来表示它。它最终会成为一个 map ,您可以像这样使用它:

@GET("data/getlist")
fun getVariableData(): Single<Map<String, String>>

关于android - 改造和 Moshi : parsing variable name objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48820520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com