1 回答
TA贡献1951条经验 获得超3个赞
ObjectMapper我编写了一个示例代码,通过使用将响应 json 字符串转换为 POJO 来 演示我在评论中所说的内容。
首先,创建一个类,说CoinDeskResponse是存储转换结果。
public class CoinDeskResponse {
private TimeInfo time;
private String disclaimer;
private BpiInfo bpi;
//general getters and setters
}
class TimeInfo {
private String updated;
private String updatedISO;
//general getters and setters
}
class BpiInfo {
private String code;
private String symbol;
private String rate;
private String description;
@JsonProperty("rate_float")
private String rateFloat;
//general getters and setters
}
接下来,创建ObjectMapper响应并将其转换为CoinDeskResponsePOJO。然后就可以通过操作该对象来获取所需的数据。
String responseStr = "{\"time\":{\"updated\":\"Sep 18, 2013 17:27:00 UTC\",\"updatedISO\":\"2013-09-18T17:27:00+00:00\"},\"disclaimer\":\"This data was produced from the CoinDesk Bitcoin Price Index. Non-USD currency data converted using hourly conversion rate from openexchangerates.org\",\"bpi\":{\"code\":\"USD\",\"symbol\":\"$\",\"rate\":\"126.5235\",\"description\":\"United States Dollar\",\"rate_float\":126.5235}}";
ObjectMapper mapper = new ObjectMapper();
try {
CoinDeskResponse coinDeskResponse = mapper.readValue(responseStr, CoinDeskResponse.class);
System.out.println(coinDeskResponse.getTime().getUpdated());
System.out.println(coinDeskResponse.getBpi().getDescription());
System.out.println(coinDeskResponse.getBpi().getRateFloat());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
控制台输出:
数据在 UTC 时间/日期获取:2013 年 9 月 18 日 17:27:00 UTC
描述:美元
浮动汇率:126.5235
添加回答
举报