在 Java 中,我們經(jīng)常會使用 Json 傳輸數(shù)據(jù)。在一些情況下,Json 數(shù)據(jù)中含有 null 值是不合適的。那么我們該如何去掉這些 null 值呢?
實際上,在 Java 中操作 Json 數(shù)據(jù)并不是直接對 Json 進行操作,而是對其進行解析然后生成相應(yīng)的 Java 對象。所以我們需要在解析 Json 時對 null 值進行過濾。
//示例 Json 數(shù)據(jù) String jsonStr = "{ \"name\":\"John\", \"age\":null, \"gender\":\"male\", \"school\":null }"; //使用 Gson 解析 Json 數(shù)據(jù)并過濾 null 值 Gson gson = new GsonBuilder().serializeNulls().create(); JsonObject jsonObject = gson.fromJson(jsonStr, JsonObject.class); jsonObject.entrySet().removeIf(entry ->entry.getValue().isJsonNull()); //輸出結(jié)果 System.out.println(jsonObject);
在此示例中,我們使用了 Gson 庫進行 Json 解析。通過使用 GsonBuilder 的 serializeNulls() 方法,我們設(shè)置了當遇到 null 值時序列化輸出,即將其忽略。然后我們通過 JsonObject 的 entrySet() 方法獲取 Json 數(shù)據(jù)的 key-value 對集合,并通過 removeIf() 方法對值為 null 的 key-value 對進行刪除操作。
除了使用 Gson 庫外,我們還可以使用 Jackson 庫實現(xiàn)類似的操作。其具體實現(xiàn)方式大同小異,這里不再展開講解。
上一篇jquery3d酷炫特效
下一篇jquery3d粒子插件