【问题标题】:Getting set of Integers from a JSONArray in Java?从 Java 中的 JSONArray 获取一组整数?
【发布时间】: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>

【问题讨论】:

    标签: java arrays json set


    【解决方案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()));
      

      【讨论】:

        猜你喜欢
        • 2016-05-24
        • 1970-01-01
        • 2017-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-16
        • 1970-01-01
        • 2023-03-22
        相关资源
        最近更新 更多