在上图中,货币代码位于红色框中,其旁边的双精度值是其汇率。因此,要为其创建模型类,您需要将字符串映射定义为键,并双精度值表示货币代码及其汇率。
@SerializedName("rates")
val rates: Map<String, Double>,
货币代码 = > 键(字符串)
货币汇率 = >值(双倍)
要在适配器中访问它们,必须定义对变量
val currentRate: Pair<String, Double> = getItem(position)
val currencyCode = currentRate.first // code
val currencyRate = currentRate.second // rate
此映射的每个项目都是一对字符串键和双精度值。因此,您可以将所有项目作为列表或集获取,并将它们发送到适配器并显示它们。
其次,解析 JSON 嵌套键及其值
如果您的值是另一个对象,并且您希望其中的键和值,则应创建字符串映射作为键,另一个映射作为值。这意味着您需要获取嵌套键,并且应该创建一个字符串映射作为键,另一个映射作为值。
因此,要为其创建模型类,我们将字符串的 Map 定义为键,将另一个映射定义为值。
@SerializedName("rates")
val rates: Map<String, Map<String, Double>>,
键(字符串)= > 日期
值(另一个地图)
货币代码 = >键(字符串)
货币汇率 = >值(双倍)
要在活动中访问它们,您需要观察数据并获取它。
val response = data.rates