java中实体pojo对于布尔类型属性命名尽量别以is开头,否则 fastjson可能会导致属性读取不到

假如我们有一个场景,就是需要将一个对象以字符串的形式,也就是jsonString存到一个地方,比如mysql,或者redis的String结构。现在有一个实体,我们自己创建的,叫做CusPojo.java

有两个属性是布尔类型的,一个属性是有is开头,一个是没有is开头的,我们就可以做个对比。

现在我导入fastjson依赖,创建一个CusPojo对象,然后序列化为jsonString,我们打印结果如何

运行代码,点击run,运行结果:

可以看到isSuccess被success代替了,而valid还是原模原样的valid。

我们把isSuccess改成success,看看结果如何。

success还是success,valid还是valid,证明可能是fastjsob框架在解析的时候会默认把is去掉。我们可以自己调试,看看源码,这里就不带大家浏览源码了。

阿里巴巴开发手册页明确表明:

所以如果我们通过fastJson反序列Json.toJson(String jsonString)的时候,读取该属性字段就会读取不到,报错。

总结:

java实体POJO布尔类型属性名最好不要加is前缀。

最后:

如果大家觉得这篇文章对你们有所帮助,麻烦点个免费的赞赞,也住各位码农在未来的IT道路上越走越远,谢谢!

相关推荐
全干engineer4 小时前
idea拉取github代码 -TLS connect error 异常问题
java·github·intellij-idea
10岁的博客4 小时前
二维差分算法高效解靶场问题
java·服务器·算法
百***93504 小时前
Tomcat报404问题解决方案大全(包括tomcat可以正常运行但是报404)
java·tomcat
qq_281317474 小时前
kubernetes(k8s)-pod生命周期
java·容器·kubernetes
IT界的奇葩4 小时前
代码规范 spring-javaformat使用
java·spring·代码规范
披着羊皮不是狼5 小时前
多用户跨学科交流系统(4)参数校验+分页搜索全流程的实现
java·spring boot
AI_56785 小时前
接口测试“零基础通关“:Postman从入门到自动化测试实战指南
开发语言·lua
是Yu欸5 小时前
Rust 并发实战:从零构建一个内存安全的“番茄时钟”
开发语言·安全·rust
小池先生5 小时前
Gradle vs Maven 详细对比
java·maven
q***23925 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring