2012-07-26 114 views
4

我正在通過AutoBean與通過轉換爲JSON的Web服務通信。問題在於Web服務期望JSON對象的每個屬性都出現在請求中,而AutoBeanCodex.encode()看似忽略了具有其默認值的所有屬性(儘管顯式設置了這些屬性)。AutoBeanCodex.encode忽略了默認值的屬性

有沒有辦法可以包含這些屬性呢?

編輯:托馬斯的答案已經幫了很多,但它仍然留下一點問題。也就是說,一個空陣列(在我的情況下爲List<Integer>)也被吞下,顯然是因爲那裏的默認值是空陣列而不是null

回答

5

解決方法可能是使用包裝類型而不是原始類型,例如, Boolean而不是boolean,Integer而不是int;那樣,默認值將是null而不是false0

+0

謝謝,在某種程度上,這應該是一個明顯的解決方法。當我忙着想方法來改變這種行爲,甚至找到最小的關於它的文檔。 – Joey 2012-07-26 12:25:57

+0

一個小問題仍然存在,因爲'List '將導致一個遺漏的屬性,而不是一個空的數組。那個提示? – Joey 2012-07-27 11:32:42

+0

有沒有人想出一個解決方案?我與Date有類似的問題。我需要JSON爲我的日期值爲空。謝謝 – Alexey 2017-12-13 04:50:07