gpt4 book ai didi

java - 循环遍历 JSON 数据将其保存到 HashMap 中

转载 作者:行者123 更新时间:2023-12-01 17:43:39 25 4
gpt4 key购买 nike

如何循环遍历所有这些数据以将其保存到 HashMap 中?或者也许还有其他更好的解决方案?

回应

    {
"rates": {
"CAD": 1.5521,
"HKD": 8.5095,
"ISK": 154.0,
"PHP": 56.125,
"DKK": 7.4606,
"HUF": 355.65,
"CZK": 27.299,
"AUD": 1.8209,
"RON": 4.8375,
"SEK": 11.0158,
"IDR": 17716.88,
"INR": 82.8695,
"BRL": 5.5905,
"RUB": 86.3819,
"HRK": 7.614,
"JPY": 119.36,
"THB": 35.769,
"CHF": 1.0581,
"SGD": 1.5762,
"PLN": 4.5306,
"BGN": 1.9558,
"TRY": 7.0935,
"CNY": 7.7894,
"NOK": 11.6558,
"NZD": 1.8548,
"ZAR": 19.3415,
"USD": 1.0977,
"MXN": 25.8329,
"ILS": 3.9413,
"GBP": 0.89743,
"KRW": 1346.31,
"MYR": 4.7619
},
"base": "EUR",
"date": "2020-03-27"
}

................................

最佳答案

您可以直接创建自己的对象,其中包括使用 gson 库直接从 json 反序列化的 rates HashMap。首先声明您的类如下:

public class Component{

HashMap<String,Float> rates;

String base;

String date;

//...

@Override
public String toString() {
return "Component{" +
"rates=" + rates +
", base='" + base + '\'' +
", date='" + date + '\'' +
'}';
}
}

然后将其反序列化:

Component component = new Gson().fromJson(json, Component.class);

这是一个完整的 junit 示例:

@Test
public void testDeserialization() {

String json = " {\n" +
" \"rates\": {\n" +
" \"CAD\": 1.5521,\n" +
" \"HKD\": 8.5095,\n" +
" \"ISK\": 154.0,\n" +
" \"PHP\": 56.125,\n" +
" \"DKK\": 7.4606,\n" +
" \"HUF\": 355.65,\n" +
" \"CZK\": 27.299,\n" +
" \"AUD\": 1.8209,\n" +
" \"RON\": 4.8375,\n" +
" \"SEK\": 11.0158,\n" +
" \"IDR\": 17716.88,\n" +
" \"INR\": 82.8695,\n" +
" \"BRL\": 5.5905,\n" +
" \"RUB\": 86.3819,\n" +
" \"HRK\": 7.614,\n" +
" \"JPY\": 119.36,\n" +
" \"THB\": 35.769,\n" +
" \"CHF\": 1.0581,\n" +
" \"SGD\": 1.5762,\n" +
" \"PLN\": 4.5306,\n" +
" \"BGN\": 1.9558,\n" +
" \"TRY\": 7.0935,\n" +
" \"CNY\": 7.7894,\n" +
" \"NOK\": 11.6558,\n" +
" \"NZD\": 1.8548,\n" +
" \"ZAR\": 19.3415,\n" +
" \"USD\": 1.0977,\n" +
" \"MXN\": 25.8329,\n" +
" \"ILS\": 3.9413,\n" +
" \"GBP\": 0.89743,\n" +
" \"KRW\": 1346.31,\n" +
" \"MYR\": 4.7619\n" +
" },\n" +
" \"base\": \"EUR\",\n" +
" \"date\": \"2020-03-27\"\n" +
"}";

final Component component = new Gson().fromJson(json, Component.class);
System.out.println(component);

}

关于java - 循环遍历 JSON 数据将其保存到 HashMap 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60901973/

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