解决fastjson反序列化时报错的问题

简介: 现在JAVA 对象如下:@Data@NoArgsConstructorpublic class ResourceTreeDto implements Serializable, Comparable { private Coll...

现在JAVA 对象如下:

@Data
@NoArgsConstructor
public class ResourceTreeDto implements Serializable, Comparable<ResourceTreeDto> {

   
    private Collection<ResourceTreeDto> children = new TreeSet<>();
}

该对象需要存进redis里面,序列化进去,没发现问题,但反序列化时,报如下错


com.alibaba.fastjson.JSONException: syntax error, expect {, actual TreeSet, pos 1718, fieldName menuTree, fastjson-version 1.2.39
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:451) ~[fastjson-1.2.39.jar:na]
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:1234) ~[fastjson-1.2.39.jar:na]
    at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_4_ResourceTreeDto.deserialze(Unknown Source) ~[na:na]
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:267) ~[fastjson-1.2.39.jar:na]
    at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:80) ~[fastjson-1.2.39.jar:na]
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:1061) ~[fastjson-1.2.39.jar:na]
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:756) ~[fastjson-1.2.39.jar:na]

经查,原来是fastjson不支持泛型,修改原有的对象即可:

@Data
@NoArgsConstructor
public class ResourceTreeDto implements Serializable, Comparable<ResourceTreeDto> {

    private static final long serialVersionUID =  
    /**
     * 子节点列表,去掉泛形。
     */
    private Collection  children = new TreeSet();

去掉泛形后序列化一起正常。

相关文章
|
JSON fastjson Java
Fastjson 序列化,反序列化Map对象排序问题(字符串转map,map转字符串)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/61194594 ...
4690 0
|
7月前
|
JSON 前端开发 fastjson
fastjson全局序列化坑
fastjson全局序列化坑
56 0
|
7月前
|
前端开发 fastjson
mvc配置fastjson序列化枚举
mvc配置fastjson序列化枚举
63 0
|
11月前
|
fastjson Java
fastjson全局日期序列化设置导致JSONField无效
fastjson通过代码指定全局序列化返回时间格式,导致使用JSONField注解标注属性的特殊日期返回格式失效
146 0
|
缓存 NoSQL Java
最详细 | redis实战:JackSon/FastJson方式序列化深度解析
Jackson2JsonRedisSerializer和FastJsonRedisSerializer的实战应用
2479 0
|
JSON 缓存 安全
fastjson反序列化历史与检测
fastjson反序列化历史与检测
|
存储 JSON fastjson
聊聊fastjson反序列化的那些坑
聊聊fastjson反序列化的那些坑
2423 0
聊聊fastjson反序列化的那些坑
|
Java fastjson
fastJson序列化与反序列化
fastJson序列化与反序列化
|
安全 JavaScript Dubbo
Fastjson再曝反序列化漏洞,网友:Bugson又来了!
Fastjson再曝反序列化漏洞,网友:Bugson又来了!
|
JSON fastjson Java
Fastjson反序列化随机性失败
Fastjson作为一款高性能的JSON序列化框架,使用场景众多,不过也存在一些潜在的bug和不足。本文主要讲述了一个具有"随机性"的反序列化错误!
276 0
Fastjson反序列化随机性失败