Java 指定实体中成员变量不序列化返回前端

业务场景:数据库查询结果返回实体一共有10个属性值,但是只想把实体中的7个成员变量返回给前端,所以就需要操作忽略(隐藏)掉另外的3个成员变量

目录

      • 1.@JsonIgnore注解
      • 2.代码示例
      • 3. 解决

1.@JsonIgnore注解

  • 作用:在json序列化时将实体中的一些属性忽略掉,标记在属性或者方法上,返回的Json数据就不包含被@JsonIgnore标注的属性。

2.代码示例

  • 以下实体中的bzrsList(编制人员列表)属性是业务属性(数据库查询得到),需要经过处理后把得到的值赋给bzrsTotal(编制人员总数),然后将bzrsTotal(编制人员总数)返回给前端;
public class Demo implements Serializable {
    // 单位id
    private String id;
    // 单位名称
    private String deptName;
    // 单位性质
    private String deptClassValue;
    // 编制人员列表
    private String bzrsList;
    // 编制人员总数
    private int bzrsTotal;
    // 使用面积正常人数
    private String zcrsTotal;
    // 使用面积超标人数
    private String cbrsTotal;
    // 正常使用面积总数
    private String zcmjTotal;
    // 超标使用面积总数
    private String cbmjTotal;
}
  • 不忽略bzrsList(编制人员列表)返回结果:
    Java 指定实体中成员变量不序列化返回前端_第1张图片

3. 解决

  • 使用 @JsonIgnore标注需要隐藏的成员变量
 	//...以上代码省略

    // 编制人员列表
    @JsonIgnore
    private String bzrsList;

     //...以下代码省略
  • 运行结果bzrsList属性不再返回:
    Java 指定实体中成员变量不序列化返回前端_第2张图片

你可能感兴趣的:(Java)