fastjson关于is开头的字段名的序列化问题
fastjson
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
项目地址:https://gitcode.com/gh_mirrors/fastj/fastjson
·
前言
任何时候不推荐java的字段名使用is开头
实例
定义一个测试的bean
package com.ahut.common.entity;
public class TestBean {
/**
* 非boolean类型, is开头字段, get方法使用getIsXXX
*/
private String isFlag;
/**
* 非boolean类型, is开头字段, get方法使用isXXX
*/
private String isName;
/**
* boolean类型, is开头字段, get方法使用getIsXXX
*/
private boolean isAge;
/**
* boolean类型, is开头字段, get方法使用isXXX
*/
private boolean isSuccess;
public String getIsFlag() {
return isFlag;
}
public String isName() {
return isName;
}
public boolean getIsAge() {
return isAge;
}
public boolean isSuccess() {
return isSuccess;
}
public void setIsFlag(String isFlag) {
this.isFlag = isFlag;
}
public void setIsName(String isName) {
this.isName = isName;
}
public void setAge(boolean age) {
isAge = age;
}
public void setSuccess(boolean success) {
isSuccess = success;
}
}
使用fastjson序列化
/**
* @desc :
* @author : cheng
* @date : 2019-03-07 21:40
*/
@Test
public void testJson() {
TestBean bean = new TestBean();
bean.setIsFlag("true");
bean.setIsName("true");
bean.setAge(true);
bean.setSuccess(true);
System.out.println(JSON.toJSONString(bean));
}
结果
{"isAge":true,"isFlag":"true","success":true}
总结
- is开头的非boolean类型字段,使用getIsXXX方法,序列化后字段名不变
- is开头的非boolean类型字段,使用isXXX方法,序列化之后消失
- is开头的boolean类型字段,使用getIsXXX方法,序列化之后字段名不变
- is开头的boolean类型字段,使用isXXX方法,序列化之后字段名前的is被去除
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
最近提交(Master分支:2 个月前 )
c942c834 - 2 年前
5bc4709b - 2 年前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)