【问题标题】:remove empty objects form JSONArray in java [closed]从java中的JSONArray中删除空对象[关闭]
【发布时间】:2023-02-08 20:14:03
【问题描述】:

我有一个像这样的 JSONArray 响应:

[
        {"firstName": "John", "lastName": "Doe"}, 
        {"firstName": "Anna", "lastName": "Smith"}, 
        {},
        {"firstName": "Peter", "lastName": "Jones"}
]

但是在数组之间,我得到了一些空对象。如何删除空对象?我没有在 JSONArray 中找到 remove() 方法。

【问题讨论】:

    标签: java json


    【解决方案1】:

    不幸的是,JSONArray 没有removeIf 便捷方法。但是,您可以遍历它,保存要删除的元素的索引(按降序排列,因此删除“较早”的索引不会弄乱“较晚”的索引),然后删除它们:

    List<Integer> indToRemove = new LinkedList<>();
    for (int i = 0; i < arr.length(); ++i) {
        if (arr.getJSONObject(i).isEmpty()) {
            indToRemove.add(0, i);
        }
    }
    
    for (int ind : indToRemove) {
        arr.remove(ind);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      相关资源
      最近更新 更多