使用JSON.toJSONString()后@JsonSerialize(using = ToStringSerializer.class)注解就不起作用了

Blade 未结 2 6895
1004235020
1004235020 剑者 2020-12-03 18:41

一、该问题的重现步骤是什么?

1. 自己在代码里使用

String jsonStr = JSON.(NoticeWrapper.().page(pages))R.(JSONObject.(jsonStr))

之后,注解@JsonSerialize(using = ToStringSerializer.class)就失效了,返回的id变成数字类型了,

因业务需要,必须这样处理,怎么解决呢?


二、你期待的结果是什么?实际看到的又是什么?

使用JSON.toJSONString()后@JsonSerialize(using = ToStringSerializer.class)注解不失效

三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 2020-12-03 22:22

    JSON.toJSONString()是fastjson的api,@JsonSerialize是jackson的注解,混合用当然是没效果的

    1 讨论(0)
  • 2020-12-04 11:27

    用 blade 包的 JsonUtil 

    作者追问:2020-12-05 12:30

    谢谢,JsonUtil 的toJson确实可以,其实我想用JSONObject.toJSONString(data, excludefilter)方法动态的过滤某些属性,JsonUtil 我看没此功能方法,我知道jackson的@JsonIgnoreProperties注解可以。但有些类是不可编辑的,不知道有啥好办法没有呢?

    0 讨论(1)
提交回复