Jiang Shan
Jiang Shan
Thank you for your feedback. I'll go research it.
貌似没有这个bug啊。我本地使用2.0.52兼容包进行测试: ``` com.alibaba fastjson 2.0.52 ``` 并通过WebMvcConfigurer配置了FastJsonConfig,设置DateFormat("millis"),然后测试了下面三种情况都没有问题(2.0.57也没有这个问题): ``` @RestController public static class TestController { @GetMapping(value = "/issue2850", produces = "application/json") public Date issue2850() { // return JSON.toJSONString(new Date()); // return...
你好,方便给一下能重现该问题的代码吗?
给一下简易版的,能大致重现这个问题的代码就行
是要表达这个意思吗? ``` @Test public void test() { TestData testData = new TestData("18005509635", "2000"); JSON.toJSONString(testData, new Filter()); } @Data @AllArgsConstructor public static class TestData { private String num; private String free;...
> [@wenshao](https://github.com/wenshao) 其实我直接JSON.toJSONString(str, new Filter()) 这种情况不行 如果JSON.paraseObject是可以的 因为我的场景是一个大串的JSON字符串 字符串又存在子对象的形式 只做一层paraseObject 还是没法进行第二层字对象的匿名化 可以JSON.toJSONString(JSON.parseObject(str, str对应的原始javabean.class), new Filter()),如果直接JSON.parseObject(str),框架无法得知字符串的原始类型
既然2.0.56版本没有这个问题,那应该就是2.0.57的bug,我去研究一下
你好,方便给一下,能重现该问题的代码吗?
> > 你好,方便给一下,能重现该问题的代码吗? > > 排查了一下,发现问题触发需要如下几个条件: 1、@RequestBody注解标注的类中含有LocalDateTime类型的字段。 2、请求体中的json字符串在这个字段后面的布尔类型传入false。 > > 例如请求体如下: { "date": "", "abc": false, "def": "def" } 其中date后端类型为LocalDateTime,abc为Boolean,def为String。LocalDateTime反序列化结果为null,abc反序列化结果为null(此处应为false),def反序列化结果为def。 而请求体中将date的位置放在abc后面则不会出现此问题。 这个bug确实挺巧妙的,现在已修复,有时间的话,希望可以在下一个版本发布时帮忙验证
可否提供下 record.value() 内容?