在 Java 中,我們經(jīng)常會(huì)使用 Json 傳輸數(shù)據(jù)。在一些情況下,Json 數(shù)據(jù)中含有 null 值是不合適的。那么我們?cè)撊绾稳サ暨@些 null 值呢?
實(shí)際上,在 Java 中操作 Json 數(shù)據(jù)并不是直接對(duì) Json 進(jìn)行操作,而是對(duì)其進(jìn)行解析然后生成相應(yīng)的 Java 對(duì)象。所以我們需要在解析 Json 時(shí)對(duì) null 值進(jìn)行過(guò)濾。
//示例 Json 數(shù)據(jù) String jsonStr = "{ \"name\":\"John\", \"age\":null, \"gender\":\"male\", \"school\":null }"; //使用 Gson 解析 Json 數(shù)據(jù)并過(guò)濾 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 庫(kù)進(jìn)行 Json 解析。通過(guò)使用 GsonBuilder 的 serializeNulls() 方法,我們?cè)O(shè)置了當(dāng)遇到 null 值時(shí)序列化輸出,即將其忽略。然后我們通過(guò) JsonObject 的 entrySet() 方法獲取 Json 數(shù)據(jù)的 key-value 對(duì)集合,并通過(guò) removeIf() 方法對(duì)值為 null 的 key-value 對(duì)進(jìn)行刪除操作。
除了使用 Gson 庫(kù)外,我們還可以使用 Jackson 庫(kù)實(shí)現(xiàn)類(lèi)似的操作。其具體實(shí)現(xiàn)方式大同小異,這里不再展開(kāi)講解。
上一篇jquery3d酷炫特效
下一篇jquery3d粒子插件