java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > fastjson设置字段不序列化

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

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

您可能感兴趣的文章:
阅读全文