從做程序到現(xiàn)在,用JSON也用了好些年了。突然發(fā)現(xiàn)JSON在put空值時(shí)有時(shí)會(huì)有key而有時(shí)又不會(huì)有。為了解除這個(gè)疑惑我做了以下測(cè)試。 我用的包是:json-lib-2.4-jdk15.jar
例一: Java代碼
可以看到,控制輸出:{} 由此可見,如果put一個(gè)空指針(null)給JSON,JSON會(huì)自動(dòng)屏蔽此key不會(huì)有任何處理。
我們?cè)賮砜纯戳硗庖粋€(gè)例子。
例二: Java代碼
控制臺(tái)輸出:{"key":null}
在例二中,我們將String類型的字符串value的值設(shè)置為“null”。此時(shí)JSON會(huì)帶有key及value存在。大家請(qǐng)注意看value為null。并不是“null”不帶引號(hào)。我猜測(cè)應(yīng)該是JSON自動(dòng)將字符串“null”轉(zhuǎn)換為可識(shí)別的空值。如果我們將value的值設(shè)置為非“null”的任何字符,JSON都會(huì)帶有引號(hào)。
綜上所述:如果需要在value為空時(shí)不顯示key,則可以直接傳遞null。但是如果需要不管在value是否為空時(shí)都帶有key則需要手動(dòng)將null轉(zhuǎn)換為“null”字符串即可。
才疏學(xué)淺,有什么不正之處。希望高手賜教! |
|