如果希望 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"}
}
}