Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-布尔JSON反序列化始终返回false(int格式)_Java_Android_Json_Sqlite_Deserialization - Fatal编程技术网

Java Android-布尔JSON反序列化始终返回false(int格式)

Java Android-布尔JSON反序列化始终返回false(int格式),java,android,json,sqlite,deserialization,Java,Android,Json,Sqlite,Deserialization,将JSON反序列化为自定义bean时(不管bean是什么,即使只有一个布尔字段),sqlite表中的布尔值red没有得到正确处理 根据sqlite规则,在JSON中,布尔值显示为整数值(0表示false,否则为true) 使用正确的参数调用fromJson方法时,布尔值始终反序列化为false,即使JSON值为1 我找到了我的亲人。诚恳地说,我没有测试它,因为它的实现很复杂(不知道它是否真的符合我的问题) 我正在寻找一种更轻的解决方案 谢谢,, L.F.您可以用字符串“y”和“n”替换true和

将JSON反序列化为自定义bean时(不管bean是什么,即使只有一个布尔字段),sqlite表中的布尔值red没有得到正确处理

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

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

我找到了我的亲人。诚恳地说,我没有测试它,因为它的实现很复杂(不知道它是否真的符合我的问题)

我正在寻找一种更轻的解决方案

谢谢,,
L.F.

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


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

我尝试了第二种解决方案,将其反序列化为整数并使用如下getter:public boolean getTextboxvisible(){return this.textBoxVisible!=0;}但使用此解决方案,我必须编辑解决方案上的所有pojo类。。。我想设置一个通用的自定义反序列化程序,用“Int到boolean”检查扩展基本反序列化程序。可能吗?