從做程式到現在,用json也用了好些年了。突然發現json在put空值時有時會有key而有時又不會有。為了解除這個疑惑我做了以下測試。 我用的包是:json-lib-2.4-jdk15.jar
例一:
public static void main(string args)
可以看到,控制輸出:{}
由此可見,如果put乙個空指標(null)給json,json會自動遮蔽此key不會有任何處理。
我們再來看看另外乙個例子。
例二:
public static void main(string args)
控制台輸出:
在例二中,我們將string型別的字串value的值設定為「null」。此時json會帶有key及value存在。大家請注意看value為null。並不是「null」不帶引號。我猜測應該是json自動將字串「null」轉換為可識別的空值。如果我們將value的值設定為非「null」的任何字元,json都會帶有引號。
綜上所述:如果需要在value為空時不顯示key,則可以直接傳遞null。但是如果需要不管在value是否為空時都帶有key則需要手動將null轉換為「null」字串即可。
才疏學淺,有什麼不正之處。希望高手賜教!
處理json資料返回null
1.json只能utf 8編碼 json mb convert encoding json,utf8 gbk json iconv gbk utf 8 ignore json 2.元素最後不能有逗號 與php的array不同 3.元素不能使用單引號 json str replace json 4.元...
Fastjson生成json時Null屬性不顯示
1 2 3 4 5 6 7 8 9 map string object jsonmap new hashmap string object jsonmap.put a 1 jsonmap.put b jsonmap.put c null jsonmap.put d wuzhuti.cn string...
null 與 的區別
string str1 null str引用為空 string str2 str應用乙個空串 也就是null沒有分配空間,分配了空間,因此str1還不是乙個例項化的物件,而str2已經例項化。注意因為null不是物件,是物件。所以比較的時候必須是 if str1 null 和if str2.equa...