fastjson2
fastjson2 copied to clipboard
[BUG]fastjson2.0.53传入多个SimplePropertyPreFilter的实现类时,只生效最后一个
问题描述
简要描述您碰到的问题。
环境信息
请填写以下信息:
- OS信息: [mac pro 32 GB]
- JDK信息: [java version "21.0.4" 2024-07-16 LTS]
- 版本信息:[Fastjson2 2.0.53]
重现步骤
public static void main(String[] args) {
Filter[] filters = new Filter[2];
SimplePropertyPreFilter filter1 = new SimplePropertyPreFilter(BeanB.class);
String[] exc1 = {"uname"};
filter1.getExcludes().addAll(Arrays.asList(exc1));
filters[0] = filter1;
SimplePropertyPreFilter filter2 = new SimplePropertyPreFilter(BeanB.class);
String[] exc2 = {"age"};
filter2.getExcludes().addAll(Arrays.asList(exc2));
filters[1] = filter2;
List<BeanB> list = new ArrayList<>();
BeanB beanB = new BeanB();
beanB.setUname("user1");
beanB.setId("1");
beanB.setAge("20");
list.add(beanB);
String str = JSON.toJSONString(list, filters, JSONWriter.Feature.WriteMapNullValue);
System.out.println(str);
}
@Data
static class BeanB {
private String uname;
private String id;
private String age;
}
期待的正确结果
[{"id":"1"}]
实际输出
[{"id":"1","uname":"user1"}]