Java中使用fastjson设置字段不序列化

 更新时间:2023年12月13日 11:18:51   作者:Terisadeng  
这篇文章主要介绍了Java中使用fastjson设置字段不序列化,alibaba的fasetjson可以设置字段不序列化,使用@JSONField注解的serialize属性,该属性默认是可以序列化的,设置成false就表示不可序列化,需要的朋友可以参考下

fasetjson设置字段不序列化

alibaba的fasetjson可以设置字段不序列化

使用@JSONField注解的serialize属性,该属性默认是可以序列化的,设置成false就表示不可序列化:

使用方式就是在定义字段前加上@JSONField(serialize = false)

比如下面的实体类:

import com.alibaba.fastjson.annotation.JSONField;
import java.util.Objects;
public class Employee {
@JSONField(serialize=false)
private String name;
private int age;
private double salary;
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Employee employee = (Employee) o;
return age == employee.age &&
Double.compare(employee.salary, salary) == 0 &&
Objects.equals(name, employee.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age, salary);
}
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
", salary=" + salary +
'}';
}
}

使用Json进行序列化:

import com.alibaba.fastjson.JSON;
import org.junit.Test;
public class EmployeeTest {
@Test
public void serialTest(){
Employee employee=new Employee("aa",11,2000d);
System.out.println(JSON.toJSONString(employee));
}
}

可以看到序列化之后的字符串没有name字段。

到此这篇关于Java中使用fastjson设置字段不序列化的文章就介绍到这了,更多相关fastjson设置字段不序列化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java类型生命周期的详细解析

    java类型生命周期的详细解析

    以下是对java中的类型生命周期进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • Java跳台阶实现思路和代码

    Java跳台阶实现思路和代码

    今天小编就为大家分享一篇关于Java跳台阶实现思路和代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 详解Mybatis的二级缓存配置

    详解Mybatis的二级缓存配置

    这篇文章主要介绍了Mybatis的二级缓存配置的相关资料,需要的朋友可以参考下
    2017-05-05
  • java虚拟机是做什么用的

    java虚拟机是做什么用的

    在本篇文章里小编给大家整理的是一篇关于java虚拟机作用等相关内容,对此有兴趣的朋友们可以学习参考下。
    2021-01-01
  • Springboot自定义全局异常问题

    Springboot自定义全局异常问题

    这篇文章主要介绍了Springboot自定义全局异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java模拟扑克牌洗牌实现生成52张扑克的方法示例

    Java模拟扑克牌洗牌实现生成52张扑克的方法示例

    这篇文章主要介绍了Java模拟扑克牌洗牌实现生成52张扑克的方法,涉及Java数组遍历、重排及输出等相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • Java内部类应用之静态内部类应用示例

    Java内部类应用之静态内部类应用示例

    这篇文章主要介绍了Java内部类应用之静态内部类应用,结合实例形式分析了Java静态内部类的原理、功能、用法及相关操作注意事项,需要的朋友可以参考下
    2019-09-09
  • 基于SSM 集成 Freemarker模板引擎的方法

    基于SSM 集成 Freemarker模板引擎的方法

    这篇文章主要介绍了SSM 集成 Freemarker模板引擎,SSM 架构下一般采用 Freemarker,Spring Boot 架构下一般推荐采用 Thymeleaf 模板引擎,需要的朋友可以参考下
    2022-01-01
  • 浅析Spring Security登录验证流程源码

    浅析Spring Security登录验证流程源码

    这篇文章主要介绍了Spring Security登录验证流程源码解析,本文结合源码讲解登录验证流程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Spring Boot中的微信支付全过程(小程序)

    Spring Boot中的微信支付全过程(小程序)

    微信支付是企业级项目中经常使用到的功能,作为后端开发人员,完整地掌握该技术是十分有必要的。今天通过本文给大家介绍Spring Boot中的微信支付全过程,感兴趣的朋友一起看看吧
    2022-05-05

最新评论