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

相关推荐
.ZGR.3 小时前
认识数据结构:图——无人机防空平台的“衍生品”
java·开发语言·数据结构
huidu013 小时前
基于AQS实现的ReentrantLock
java
波波0073 小时前
Native AOT 能改变什么?.NET 预编译技术深度剖析
开发语言·.net
wkm9563 小时前
在arm64 ubuntu系统安装Qt后编译时找不到Qt3DExtras头文件
开发语言·arm开发·qt
冰敷逆向3 小时前
京东h5st纯算分析
java·前端·javascript·爬虫·安全·web
晚风吹长发4 小时前
初步了解Linux中的线程同步问题及线程安全和死锁与生产消费者模型
linux·运维·服务器·开发语言·数据结构·安全
学嵌入式的小杨同学4 小时前
【Linux 封神之路】进程进阶实战:fork/vfork/exec 函数族 + 作业实现(含僵尸进程解决方案)
linux·开发语言·vscode·嵌入式硬件·vim·软件工程·ux
fengfuyao9854 小时前
基于MATLAB/Simulink的车辆自适应巡航控制(ACC)实现
开发语言·matlab
海盗12344 小时前
WPF上位机组件开发-设备状态运行图基础版
开发语言·c#·wpf