在Java編程中,JSON(JavaScript Object Notation)被廣泛用于數據交換和解析。但是,有時候我們的JSON中會包含一些null值,這些值在使用時可能會產生一些問題。因此,本文介紹了如何使用Java去除JSON中的null值。
在Java中,使用第三方庫Gson(Google提供的Java JSON庫)可以很容易地解析和生成JSON數據。當然,Gson庫也提供了方法來過濾null值。我們先看一下如何使用Gson庫過濾null值。
Gson gson = new GsonBuilder().serializeNulls().create(); String json = gson.toJson(object);
上述代碼中,我們通過GsonBuilder方法里的serializeNulls()方法開啟null值過濾。接下來,我們通過toJson方法將對象轉成JSON字符串。
除了使用Gson庫之外,我們還可以自己手寫代碼去除JSON中的null值。我們可以使用遞歸的方式遍歷JSON,過濾null值。
public JSONObject filterNull(JSONObject json) throws JSONException { Iteratorkeys = json.keys(); while (keys.hasNext()) { String key = keys.next(); Object obj = json.get(key); if (obj instanceof JSONObject) { filterNull((JSONObject) obj); } else if (obj instanceof JSONArray) { JSONArray array = (JSONArray) obj; for (int i = 0; i< array.length(); i++) { Object arrObj = array.get(i); if (arrObj instanceof JSONObject) { filterNull((JSONObject) arrObj); } } } else if (obj.equals(null)) { json.put(key, ""); } } return json; }
上面代碼中,我們通過遞歸的方式遍歷了JSONObject和JSONArray中的對象,判斷是否為空,如果為空的話就用空字符串代替。這樣就能很輕松的去除JSON中的null值。
總結來說,如果使用Gson庫,那么我們可以通過開啟serializeNulls方法來過濾null值,這是最快捷的方式。如果我們想自己手動實現過濾功能,那么我們可以采用遞歸的方式去除JSON中的null值。
上一篇css 圖片自動換行排列
下一篇java json 響應