从 Java 中的 JSONArray 获取一组整数?

Posted

技术标签:

【中文标题】从 Java 中的 JSONArray 获取一组整数?【英文标题】:Getting set of Integers from a JSONArray in Java? 【发布时间】:2022-01-22 21:26:49 【问题描述】:

我有以下java 代码,我试图从JSONArray 对象中提取一组整数。我该怎么做?

JSONObject actionDetail = new JSONObject("myJsonOject");

int personId = actionDetail.getInt("personId");
JSONArray addressIds = actionDetail.getJSONArray("addressIds");

Action action = new Action();

action.setPersonId(personId); //working ok

action.setAddressIds(): //todo - how to get list of ints from the JsonArray?

注意addressIds字段的类型是:Set<Integer>

【问题讨论】:

【参考方案1】:

你可以试试这样的:

Set<Integer> result = IntStream.range(0, addressIds.length())
        .mapToObj(addressIds::get)
        .map(Integer::valueOf)
        .collect(Collectors.toSet());

【讨论】:

【参考方案2】:

您可以尝试在流中将 Object 转换为 Integer。

action.setAddressIds(addressIds.toList().stream().map(k -> (Integer) k).collect(Collectors.toSet()));

【讨论】:

以上是关于从 Java 中的 JSONArray 获取一组整数?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取jsonarray中 某个值

去掉一组整型数组重复的值

去掉一组整型数组重复的值

c++输入一组整型数据 不知道长度 回车键结束 并将其存入数组当中

json学习之JSONArray的应用(转载)

从jsonArray java android Studio获取字符串[重复]