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设置字段不序列化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
最新评论