[BUG]JSON.toJSONString配合PropertyPreExcludeFilter后null值的Double会被序列化
问题描述
JSON.toJSONString配合PropertyPreExcludeFilter一起使用在序列化时Double是null也会被序列化到JSON
环境信息
请填写以下信息:
- JDK信息: [e.g.:Openjdk 11.0.19]
- 版本信息:[e.g.:Fastjson2 2.0.58]
重现步骤
如何操作可以重现该问题:
PropertyPreExcludeFilter PROPERTY_PRE_EXCLUDE_FILTER = new PropertyPreExcludeFilter().addExcludes("id","suWorkRecordId");
JSON.toJSONString(result,PROPERTY_PRE_EXCLUDE_FILTER);
期待的正确结果
null值的double不会被序列化
附加信息
- 暂时发现有Double
- Integer值null会被正确排除
- 直接使用JSON.toJSONString(result)可以正确排除Double
PropertyPreExcludeFilter 可以提供下吗?
PropertyPreExcludeFilter 可以提供下吗?
重現步驟 PropertyPreExcludeFilter PROPERTY_PRE_EXCLUDE_FILTER = new PropertyPreExcludeFilter().addExcludes("id","suWorkRecordId"); JSON.toJSONString(result,PROPERTY_PRE_EXCLUDE_FILTER);
PropertyPreExcludeFilter 不是 fastjson2 内置类啊。你可以看下这个类的导包,是自定义实现的,还是来自第三方库?
PropertyPreExcludeFilter 不是 fastjson2 内置类啊。你可以看下这个类的导包,是自定义实现的,还是来自第三方库?
不好意思,忘了; PropertyPreExcludeFilter 是继承的com.alibaba.fastjson2.filter.SimplePropertyPreFilter, 里面加了一个addExcludes方法来简化add字段,没其他的了
public class PropertyPreExcludeFilter extends SimplePropertyPreFilter
{
public PropertyPreExcludeFilter()
{
}
public PropertyPreExcludeFilter addExcludes(String... filters)
{
for (String filter : filters) {
this.getExcludes().add(filter);
}
return this;
}
}
ok,感谢反馈,经测试2.0.58确实有问题,不过2.0.60已修复,请用新版本
ok,感谢反馈,经测试
2.0.58确实有问题,不过2.0.60已修复,请用新版本
好的,謝謝