侧边栏壁纸
  • 累计撰写 2,058 篇文章
  • 累计创建 73 个标签
  • 累计收到 20 条评论

目 录CONTENT

文章目录

Java中使用fastjson格式化改变了名称

大猿本猿
2023-08-09 / 278 阅读 / 222 字

问题描述

使用 fastjson 进行 JSON 序列化存储到数据库后,发现 JSON 字符串“莫名其妙地”多了一些属性。

引起原因

基本类型的布尔类型以 is 开头的属性使用fastjson格式化时候都会改变,原因是 fastjson 通过反射虽然有能力识别真实的属性名,但是实际操作时会根据 getter 方法反推出属性名,造成转为 JSON 字符串时和实际属性名存在偏差。

解决方法

遵循《阿里巴巴 Java 开发手册》规范即可解决该问题。

手册中强调任何布尔类型的变量都不要加 is 前缀,基本类型布尔属性反向解析时,会误以为不带 is 导致获取不到属性,抛出异常。

image

Java中使用fastjson格式化改变了名称