fastjson 序列化对象临时忽略指定字段

如果希望 Java 对象中某字段不被 JSON 序列化,可以在字段上添加@JsonIgnore注解,在添加注解之后,每次序列化和反序列化都会忽略这个字段。
但在开发时,可能需要序列化单次临时忽略某字段,可以使用fastjson SimplePropertyPreFilter

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;

@lombok.Data
@lombok.AllArgsConstructor
public class Test {
    
    private String id;
    private String name;
    
    public static void main(String[] args){
        SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
        Set<String> excludes = filter.getExcludes();
        excludes.add("id");
        String str = JSONObject.toJSONString(new Test("1", "tom"), filter);
        // output: {"name":"tom"}
    }
}