java – 使用Jackson JSON解析将TRUE或FALSE转换为布尔值
发布时间:2020-12-15 02:05:25 所属栏目:Java 来源:网络整理
导读:我正在使用Jackson注释将 JSON响应解析为POJO对象.我在POJO中使用布尔变量来映射来自JSON的值“true”和“false”.但突然之间,我们将JST中的值变为“TRUE”和“FALSE”,并解析了这些值的失败. 任何人都可以建议将它映射到布尔值的方法,因为这个变量被用在很
我正在使用Jackson注释将
JSON响应解析为POJO对象.我在POJO中使用布尔变量来映射来自JSON的值“true”和“false”.但突然之间,我们将JST中的值变为“TRUE”和“FALSE”,并解析了这些值的失败.
任何人都可以建议将它映射到布尔值的方法,因为这个变量被用在很多地方,我不想将逻辑更改为String到Boolean. 解决方法
这不是一个真正的问题,这基本上是BeanUtils的工作方式.
对于布尔变量,Jackson删除了来自setter名称,以便在编组到JSON时派生它所期望的变量名称,并将set添加到相同的派生名称以解组回POJO. 所以boolean isFooTrue;当编组到JSON时结束为fooTrue,当解组它时会尝试调用setIsFooTrue();,这是不正确的. 如果您正在使用IDE并且生成了getter / setter,那么您可能会注意到生成的boolean isFoo代码;基本上忽略了就好像var名称只是foo: private boolean isFoo; public boolean isFoo() { return isFoo; } public void setFoo(boolean isFoo) { this.isFoo= isFoo; } 有两个选项是从var名称中删除is,或者将is添加到setter名称. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |