Android - 布尔JSON反序列化总是返回false(int格式)

时间:2013-09-26 08:32:12

标签: java android json sqlite deserialization

当将JSON反序列化为自定义bean时(即使使用一个布尔字段,无关紧要),未正确处理sqlite表中的布尔值red。

根据sqlite规则,在JSON中,布尔值显示为整数值(0表示false,否则为true)。

使用正确的参数调用fromJson方法时,即使JSON值为1,布尔也始终反序列化为false。

我找到this answer和亲戚extern link。真诚的我没有测试过,因为它的实现很复杂(不知道它是否真的符合我的问题)。

我正在寻找更轻松的解决方案。

谢谢你, L.F。

1 个答案:

答案 0 :(得分:0)

你可以用字符串“y”和“n”替换true和false并序列化;反序列化后,您需要进行逆转换。这可能与上述解决方案相同,但需要较少重复使用其他人的代码。

另一个选择是在数据结构中使用int-s而不是boolean -.s。