gpt4 book ai didi

java - 使用 Jackson JSON 解析将 TRUE 或 FALSE 转换为 boolean 值

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:52 45 4
gpt4 key购买 nike

我正在使用 Jackson 注释将 JSON 响应解析为 POJO 对象。我在 POJO 中使用 boolean 变量来映射来自 JSON 的值“true”和“false”。但是突然之间,我们将“TRUE”和“FALSE”的值获取到 JSON 中,并且解析这些值失败。任何人都可以建议将它映射到 boolean 的方法,因为这个变量在很多地方使用,我不想将逻辑更改为 String 到 Boolean 。

最佳答案

这不是真正的问题,这基本上是 BeanUtils 的工作方式。

对于 boolean vars,Jackson 从 setter 名称中删除 is 以导出它在编码为 JSON 时期望的变量名称并添加 set 到相同的派生名称以解码回 POJO。

因此 boolean isFooTrue; 在编码为 JSON 时最终为 fooTrue,而在解编时它将尝试调用 setIsFooTrue();,这是不正确的。

如果您使用的是 IDE 并且生成了 getter/setter,您可能会注意到为 boolean isFoo; 生成的代码基本上忽略了 is 作为如果 var 名称只是 foo:

private boolean isFoo;

public boolean isFoo() {
return isFoo;
}

public void setFoo(boolean isFoo) {
this.isFoo= isFoo;
}

两个选项是从 var 名称中删除 is,或将 is 添加到 setter 名称。

关于java - 使用 Jackson JSON 解析将 TRUE 或 FALSE 转换为 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12316321/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com