Skip to content

[FEATURE]Filter功能兼容fastjson建议 #2590

@GYung

Description

@GYung

请描述您的需求或者改进建议

最近在做fastjson升级到fastjson2改造,由于是网关应用需要对JSON数据进行修改和裁剪,所以会大量用到SerializeFilter扩展能力,在升级到fastjson2的FIlter时,发现以下功能是不兼容的:

  1. ValueFilter 和 PropertyFilter 方法签名冲突

方法名都是apply, 导致无法在一个类里面实现这两个接口

  1. 无法通过PropertyPreFilter.apply构建当前对象的完整路径

fastjson的PropertyPreFilter.apply的入参JSONSerializer,我可以基于JSONSerializer.context的parent和fieldName来构建出当前对象的完整路径。
而fastjson2的PropertyPreFilter.apply入参JSONWriter没法支持我能构建出当前对象的完整路径
(因为我这边需要通过参数完整路径来定位到该参数相关业务配置)

请描述你建议的实现方案

1.如果两个filter功能不是互斥,是否可以考虑使用不同方法名

2.JSONWriter的refs提供一个get方法获取Path, Path再提供获取parent和name的get方法,这种是否可行的吗?

描述您考虑过的替代方案

1.目前是通过两个类来分别继承两个接口,然后两个类再互相绑定用于交换数据

附加信息

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions