gpt4 book ai didi

java - 使用日期值迭代 JSON 对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:21 25 4
gpt4 key购买 nike

我试图在我的 API 月费率调用中找到最高和最低费率,对象 BPI 有字符串值,我有点困惑如何实际计算日期作为例如键和费率作为值以便迭代可以完成。

我想使用 map ,但不确定如何正确进行:

a

最佳答案

看起来您有一个 JSON 文档,如下所示:

{
"bpi": {
"2019-08-18": 9304.6179,
"2019-08-19": 9860.2835,
"2019-08-20": 9710.7164,
"2019-08-21": 9138.8615,
"2019-08-22": 9126.6978
}
}

因为你似乎在使用 Java,你可以使用 Jackson将 JSON 文档解析为类的实例,例如:

@Data
public class ApiResponse {
private Map<LocalDate, BigDecimal> bpi;
}

哪里bpi JSON 属性将映射到 Map<LocalDate, BigDecimal> .

要解析 JSON,您可以:

String json = ...;

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());

ApiResponse apiResponse = mapper.readValue(json, ApiResponse.class);;

然后,要找到最高值和最低值,您可以使用:

BigDecimal max = Collections.max(apiResponse.getBpi().values());
BigDecimal min = Collections.min(apiResponse.getBpi().values());

如果您需要完整的 map 条目,请使用:

Entry<LocalDate, BigDecimal> max = 
Collections.max(apiResponse.getBpi().entrySet(), Entry.comparingByValue());

Entry<LocalDate, BigDecimal> min =
Collections.min(apiResponse.getBpi().entrySet(), Entry.comparingByValue());

关于java - 使用日期值迭代 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58000285/

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