[alibaba/fastjson]1.2.61版本使用valueFilter抛出NoSuchMethodError

2024-08-28 371 views
1
问题描述

1.2.61版本使用valueFilter抛出NoSuchMethodError,1.2.60版本正常。我不太确定是我使用的姿势不对,还是bug

异常信息
Caused by: java.lang.NoSuchMethodError: com.alibaba.fastjson.serializer.JavaBeanSerializer.processValue(Lcom/alibaba/fastjson/serializer/JSONSerializer;Lcom/alibaba/fastjson/serializer/BeanContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;Ljava/lang/Integer;
    at com.alibaba.fastjson.serializer.ASMSerializer_1_QueryRepayOrderReq.writeNormal(Unknown Source)
    at com.alibaba.fastjson.serializer.ASMSerializer_1_QueryRepayOrderReq.write(Unknown Source)
    at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:285)
    at com.alibaba.fastjson.JSON.toJSONString(JSON.java:745)
    at com.alibaba.fastjson.JSON.toJSONString(JSON.java:679)
...
抛出异常的代码
JSON.toJSONString(req, (ValueFilter) (object, name, value) -> {
    if (value instanceof BigDecimal) {
       return ((BigDecimal) value).stripTrailingZeros();
    }
    return value;
});
fastjson依赖

image

回答

1

这个问题解决了吗

6
2780 未修复啊
7

1.2.62 Mac 不行,centos 可以

0

我windows上面可以,mac上面不行,但是先执行一下不带过滤器的序列化代码后就正常了。很奇怪。。。

3

请问各位是怎么解决这个问题的?

8

@minghu-zhang Mac 系统 暂时使用 1.2.60 版本是可行的

8

@itellyou-com 1.2.60 mac系统不行。今天刚试过。 大佬啥时候才能修复啊

3

@itellyou-com 不好意思 我使用的是1.2.62版本 您说的是对的。 但是为什么1.2.60版本可以 62的版本不行呢? 好奇怪啊

0

@samuel072 我也没有深入研究,等官方解决吧

5

还没解决吧,还是不行吧!