如何在Android Java中处理来自JSON的关联数组

问题描述 投票:0回答:1

我正在尝试在我的Android应用中处理https://api.exchangeratesapi.io/latest的JSON输出,该输出以这种格式返回:

{
  "rates": {
    "CAD": 1.5613,
    "HKD": 8.9041,
    ...
    "KRW": 1374.71,
    "MYR": 4.8304
  },
  "base": "EUR",
  "date": "2020-03-09"
}

我想使用GSON处理此JSON,所以我添加了一个ExchangeRates类来接收数据:

class ExchangeRates {
    private String base;
    private String date;
}

这些命令将JSON加载到我的ExchangeRates类中:

Gson gson = new Gson();
ExchangeRates mExchangeRates = gson.fromJson(result, ExchangeRates.class);

但是,我无法弄清楚如何以可扩展的方式将汇率的关联数组加载到该类中。我知道我可以添加货币的静态列表,但是如果以后添加货币,我希望代码能够自动处理其他货币。

java android json associative-array
1个回答
0
投票

结果非常简单,是的,@ ya379,HashMap是答案的一部分。给定HashMap数据类型,GSON会将JSON的关联数组部分直接转换为HashMap:

class ExchangeRates {
    private String base;
    private String date;
    private HashMap<String, Double> rates;
}
© www.soinside.com 2019 - 2024. All rights reserved.