2013-09-26 48 views
0

將JSON反序列化爲自定義bean(即使只有一個布爾型字段也無關緊要),sqlite表中的布爾值紅色未正確處理。Android - 布爾型JSON反序列化總是返回false(int格式)

根據sqlite規則,在JSON中,布爾值顯示爲一個整數值(0表示false,否則爲true)。

當調用fromJson方法與正確的參數,布爾總是反序列爲假,即使JSON值爲1

我發現this answer和相對extern link。我真的沒有測試過,因爲它的實現很複雜(不知道它是否真的符合我的問題)。

我正在尋找一個打火機解決方案來做到這一點。

謝謝 L.F.

回答

0

可以替代真實的字符串「Y」和「n」虛假和序列化;反序列化後,您需要進行反轉換。這大概相當於上面提到的解決方案,但是需要更少地重複使用其他人的代碼。

另一種選擇是在數據結構中使用int-s而不是布爾值。

+0

我試圖第二溶液,反串行化Integer和使用類似於吸氣劑如下: 公共布爾getTextboxvisible() { 返回this.textBoxVisible = 0; } 但這種解決方案我有編輯所有的POJO類的解決方案... 我想建立一個擴展與底座解串器「詮釋爲布爾」檢查一個通用的定製解串器。可能嗎 ? –