前言

任何时候不推荐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}

总结

  1. is开头的非boolean类型字段,使用getIsXXX方法,序列化后字段名不变
  2. is开头的非boolean类型字段,使用isXXX方法,序列化之后消失
  3. is开头的boolean类型字段,使用getIsXXX方法,序列化之后字段名不变
  4. is开头的boolean类型字段,使用isXXX方法,序列化之后字段名前的is被去除
GitHub 加速计划 / fastj / fastjson
3
1
下载
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
最近提交(Master分支:2 个月前 )
c942c834 - 2 年前
5bc4709b - 2 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐