我正在尝试处理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);
但是,我无法弄清楚如何以可伸缩的方式将汇率的关联数组加载到该类中。我知道我可以添加货币的静态列表,但是如果以后添加货币,我希望代码能够自动处理其他货币。
最佳答案
事实证明这非常简单,是的,@ ya379是HashMap的一部分。给定HashMap数据类型,GSON会将JSON的关联数组部分直接转换为HashMap:
class ExchangeRates {
private String base;
private String date;
private HashMap<String, Double> rates;
}