我拉数据从网站与api和我有一个数据类。
我的数据类
@Serializable
data class ExchangeDto(
val base_code: String,
val conversion_rates: HashMap<String,Double>,
val documentation: String,
val result: String,
val terms_of_use: String,
val time_last_update_unix: Int,
val time_last_update_utc: String,
val time_next_update_unix: Int,
val time_next_update_utc: String
) {
fun toDomain() = Exchange(
base_code = base_code,
conversionRates = conversion_rates,
result = result,
)
}
以哈希Map形式获取转换率
但是我想把它们作为list
保存在我的房间数据库中,因为我很难把它们作为散列表来处理。
此外,api中的示例数据如下所示。
{
"result":"success",
"documentation":"https://www.exchangerate-api.com/docs",
"terms_of_use":"https://www.exchangerate-api.com/terms",
"time_last_update_unix":1670025602,
"time_last_update_utc":"Sat, 03 Dec 2022 00:00:02 +0000",
"time_next_update_unix":1670112002,
"time_next_update_utc":"Sun, 04 Dec 2022 00:00:02 +0000",
"base_code":"USD",
"conversion_rates":{
"USD":1,
"AED":3.6725,
"AFN":88.0980,
"ALL":112.4117,
"AMD":395.2364,
"ANG":1.7900,
"AOA":508.8502,
"ARS":166.8477,
"AUD":1.4705,
"AWG":1.7900,
"AZN":1.6974,
"BAM":1.8602,
"BBD":2.0000,
"BDT":101.2527,
"BGN":1.8596,
"BHD":0.3760,
"BIF":2048.3540,
"BMD":1.0000,
"BND":1.3507
}
}
1条答案
按热度按时间uyhoqukh1#
你可以使用Kotlin的标准库将一个HashMap转换为一个数据类并保存为一个列表,你可以使用map()函数迭代HashMap并为Map中的每个条目创建一个新的数据类示例,然后将其添加到列表中,如下所示: