前言

任何时候不推荐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
25.69 K
6.51 K
下载
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
最近提交(Master分支:3 个月前 )
c942c834 - 1 年前
5bc4709b - 1 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐