有時候我們在使用 Java 解析 JSON 數據的時候,會遇到一些 JSON 字段為空的情況。這些空值的存在會對我們的后續操作造成干擾,所以需要將它們去除。下面介紹一些常用的方法。
public static void removeNullValues(JSONObject jsonObject) { Setkeys = jsonObject.keySet(); Iterator iterator = keys.iterator(); while (iterator.hasNext()) { String key = iterator.next(); if (jsonObject.get(key) instanceof JSONObject) { removeNullValues((JSONObject) jsonObject.get(key)); } else if (jsonObject.get(key) instanceof JSONArray) { JSONArray array = (JSONArray) jsonObject.get(key); for (int i = 0; i< array.size(); i++) { Object object = array.get(i); if (object instanceof JSONObject) { removeNullValues((JSONObject) object); } } } else if (jsonObject.get(key) == null) { iterator.remove(); } } }
上面的方法將會遞歸遍歷 JSON 字段,如果遇到空值,則使用迭代器刪除該字段。通過這種方法可以實現去除 JSON 中所有空值的目的。