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道路上越走越远,谢谢!

相关推荐
AntDreamer几秒前
在实际开发中,如何根据项目需求调整 RecyclerView 的缓存策略?
android·java·缓存·面试·性能优化·kotlin
java_heartLake5 分钟前
设计模式之建造者模式
java·设计模式·建造者模式
G皮T5 分钟前
【设计模式】创建型模式(四):建造者模式
java·设计模式·编程·建造者模式·builder·建造者
环能jvav大师9 分钟前
基于R语言的统计分析基础:使用SQL语句操作数据集
开发语言·数据库·sql·数据分析·r语言·sqlite
niceffking10 分钟前
JVM HotSpot 虚拟机: 对象的创建, 内存布局和访问定位
java·jvm
吱吱鼠叔12 分钟前
MATLAB方程求解:1.线性方程组
开发语言·matlab·php
菜鸟求带飞_13 分钟前
算法打卡:第十一章 图论part01
java·数据结构·算法
Antonio91517 分钟前
【CMake】使用CMake在Visual Studio内构建多文件夹工程
开发语言·c++·visual studio
骆晨学长29 分钟前
基于springboot的智慧社区微信小程序
java·数据库·spring boot·后端·微信小程序·小程序
LyaJpunov31 分钟前
C++中move和forword的区别
开发语言·c++