参考:
总结——》【Java】
场景:将对象转换成json格式的时候,常常需要排除一些字段(例如:延迟加载的字段、文本类型的大字段)。
解决:在fastjson库中,可以使用SimplePropertyPreFilter忽略掉指定属性。
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Arrays;
import java.util.List;
/**
* @ClassName Test
* @Description
* @Author 小仙
* @Version
* @Date 2021/5/24 10:22
*/
public class Test {
public static void main(String[] args) {
SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
List<String> excludes = Arrays.asList("age");
filter.getExcludes().addAll(excludes);
Student student = new Student().setName("小明").setAge(12).setSex("男");
String result = JSON.toJSONString(student,filter);
// 输出结果:{"name":"小明","sex":"男"}
System.out.println(result);
}
}
@Data
@Accessors(chain = true)
class Student {
private Integer age;
private String sex;
private String name;
}