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

相关推荐
gugucoding10 分钟前
57. 【Java】日志框架:SLF4J与Logback
java·开发语言·logback
今天的砖头有点烫手啊10 分钟前
JVM 调优实战:从 GC 日志到参数优化,一次完整排查
java·jvm
此生决int16 分钟前
深入理解C++系列(15)——AVL树
开发语言·c++
筱璦28 分钟前
PHP+ VUE3机构级股票分仓管理交易系统源码可出
开发语言·php·vue3·量化·股票分仓
爱奥尼欧31 分钟前
10.C++ string 实现详解
java·开发语言·c++
小飞学编程...33 分钟前
【equals 、Comparable、Comparator 三者的区别】
java·python
骇客野人41 分钟前
Java分布式任务调度方案(完整落地指南)
java·开发语言·分布式
JacksonMx1 小时前
Spring @Async 坑点 + 改造方案
java·开发语言
你怎么知道我是队长1 小时前
IPv6 地址完全解析:从结构到实战
开发语言·php
Dovis(誓平步青云)1 小时前
牛奶不能减成负数:冰箱库存的筛选、去重与不可变更新
android·java·开发语言