假如我们有一个场景,就是需要将一个对象以字符串的形式,也就是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前缀。
最后:文章来源:https://www.toymoban.com/news/detail-832628.html
如果大家觉得这篇文章对你们有所帮助,麻烦点个免费的赞赞,也住各位码农在未来的IT道路上越走越远,谢谢!文章来源地址https://www.toymoban.com/news/detail-832628.html
到了这里,关于java中实体pojo对于布尔类型属性命名尽量别以is开头,否则 fastjson可能会导致属性读取不到的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!