我目前有个需求,对于jsonDirect的字段序列化时,我需要进行一些处理,比如去掉CDATA block,否则无法正确序列化为json,我本来打算通过filter做到这点,结果却保存,调试后发现,filter的执行太晚了,在这之前已经判断了jsonDirect,然后直接调用了parseJson,于是就杯具了考虑到兼容性,或许可以为Filter接口增加一个processEarly方法,让其更早的执行。如果没有兼容性问题,直接提前对于filter的处理也行
gc0ot86w1#
能否提供一个testcade
hgqdbh6s2#
注意198行的processValue方法,在219中利用 beanContext.isJsonDirect() 作了判断,并直接处理了带有jsonDirect的字段。然后从225行开始才开始使用各种filter对属性值进行进一步处理,这时已经才迟了,因为带有jsonDirect的属性值已经在219行被序列化为json object了。
beanContext.isJsonDirect()
2条答案
按热度按时间gc0ot86w1#
能否提供一个testcade
hgqdbh6s2#
注意198行的processValue方法,在219中利用
beanContext.isJsonDirect()
作了判断,并直接处理了带有jsonDirect的字段。然后从225行开始才开始使用各种filter对属性值进行进一步处理,这时已经才迟了,因为带有jsonDirect的属性值已经在219行被序列化为json object了。