[英]How to check if JSON object is empty in Java?
在Java中,如果我使用以下JSON
字符串作為示例,我將如何檢查對象是否為空/ null ?
{"null_object_1" : [], "null_object_2" : [null] }
我嘗試過使用:
if(!jsonSource.isNull("null_object_1")) {/*null_object_1 is not empty/null*/}
if(!jsonSource.isNull("null_object_2")) {/*null_object_2 is not empty/null*/}
但是這些IF
語句仍然返回true(就好像它們不是空/ null)。
有沒有人有辦法解決嗎?
編輯:通過“對象”,我實際上是指數array
。
無論是那些有兩件事是null
; 他們是陣列。 結果正是您所期望的。
其中一個數組為空,另一個數組包含一個null
元素。
如果您想知道數組是否為空,則需要獲取數組,然后檢查其長度。
JSONObject myJsonObject =
new JSONObject("{\"null_object_1\":[],\"null_object_2\":[null]}");
if (myJsonObject.getJSONArray("null_object_1").length() == 0) {
...
}
編輯澄清:沒有元素(空)的數組和一個元素為null
的數組是完全不同的東西 。 在第二個數組的情況下,它既不是null
也不是空的。 正如我所提到的,它是一個具有null
的單個元素的數組。 如果你有興趣確定是否是這種情況,你需要獲取數組然后迭代它測試每個元素以查看它是否為null
並相應地對結果起作用。
根據此文檔JSONObject API , isNull
檢查值NULL,在您的情況下不是這樣。
如果'null_object_1'的值是String,則需要使用String temp = getString("keyName")
並檢查
!("".equals(temp));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.