`
LiYunpeng
  • 浏览: 952588 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

fastjson 反序列化泛型对象

阅读更多

我是这样做的,不知道有没有更好的办法望支出

首先是
JSON.parseObject的方法有很多重载,里面其中有一个传递TypeReference类型的方法重载

这个就是用来转换泛型对象的

具体用法类似如下

JSON.parseObject(jsonStr, new TypeReference<Xxx<IYyy>>(){});


上面这个例子就是一个嵌套结构

---------题外
不过在某些情况下,通常泛型的类型是不固定的,而我们通过接口来约束泛型对象的类型,比如上面的IYyy,是一个接口,所有实现接口的类都有可能是要转化的对象,这个时候未知的类型就会转换失败


我的解决办法是
想办法先根据某一个字段确定是什么类型,然后明确类型之后再进行反序列化

我的对象中有一个字段是用来区分传递的对象具体是什么类型的
所以我通过JSON.parse,将jsonStr转换为JSONObject,然后获取里面的key,找到对应的值来判断是什么类型之后,就可以针对不同情况反序列化了
分享到:
评论

相关推荐

    S14-fastjson反序列化1

    6. **Fastjson 特性**:Fastjson 提供了许多其他特性,如支持泛型、处理日期、自定义序列化和反序列化策略等。它还提供了高效的性能,使得它成为 Java 开发者常用的 JSON 处理库之一。 总之,理解 Fastjson 的序列...

    SpringBoot Redis配置Fastjson进行序列化和反序列化实现

    这里,我们为`value`和`hashValue`设置了Fastjson序列化器,而`key`和`hashKey`使用了默认的`StringRedisSerializer`,因为Redis的key通常为字符串。 **3. 示例实体类** 为了演示序列化和反序列化的效果,我们可以...

    fastjson、gson、jackson序列化和反序列化所用 json

    这些库提供了JSON的序列化和反序列化功能,将Java对象转换为JSON字符串,以及将JSON字符串转换回Java对象。 1. **Fastjson**:Fastjson是阿里巴巴开源的一个高性能的JSON库,它的设计目标是处理速度极快,API简洁...

    C#简单快速的json组件fastJSON使用介绍.docx

    在上面的示例中,我们首先创建了一个 zoo 对象,并添加了两个动物对象,然后使用 fastJSON 序列化了 zoo 对象,并将其反序列化回 zoo 对象。 fastJSON 序列化机制 fastJSON 序列化机制是基于反射和 IL 代码生成的...

    protostuff fastjson gson 高性能序列化jar包

    它可以处理基本类型、复合类型,甚至是泛型对象,同时也支持自定义序列化和反序列化逻辑。 - Gson提供了丰富的API,如`GsonBuilder`,允许开发者定制序列化过程,比如忽略某些字段,或者设置日期格式等。 在实际...

    fastJosn Gson Jackson 序列化和反序列化所需要的jarlib.rar

    在Java开发中,序列化和反序列化是数据转换的重要环节,主要用于将对象转换为可存储或传输的数据格式,如JSON字符串,以及将这些数据还原为原来的对象。本压缩包包含fastJson、Gson和Jackson这三种流行JSON库的jar...

    序列化工具(Gson, Jackson, FastJson, ProtoBuf)

    它的使用简单,支持复杂的类型转换,包括泛型、枚举、自定义序列化和反序列化策略。Gson的优势在于其灵活性和强大的类型处理能力,使得它在处理JSON数据时非常便捷。 2. Jackson(FasterXML Jackson): Jackson是...

    fastJSON使用.pdf

    FastJSON 序列化一个 JSON 库涉及的最基本功能就是序列化和反序列化。FastJSON 支持 JavaBean 的直接序列化。你可以使用 com.alibaba.fastjson.JSON 这个类进行序列化和反序列化。基本序列化序列化就是把 JavaBean ...

    Fastjson介绍

    3. **支持泛型**:Fastjson在处理泛型时非常灵活,能够轻松处理各种泛型对象的序列化和反序列化。 4. **定制化序列化**:Fastjson提供了多种接口(如`NameFilter`、`PropertyFilter`等),允许开发者自定义序列化...

    fastJSON使用.docx

    FastJSON 序列化一个 JSON 库涉及的最基本功能就是序列化和反序列化。FastJSON 支持 JavaBean 的直接序列化,可以使用 com.alibaba.fastjson.JSON 这个类进行序列化和反序列化。基本序列化序列化就是把 JavaBean ...

    fastjson-1.2.83.jar下载

    fastjson-1.2.83.jar下载,...4. 支持泛型:fastjson支持泛型类型的解析和序列化。 5. 支持JSONPath:fastjson支持JSONPath表达式查询。 6. 支持注解:fastjson支持多种注解配置JSON序列化和反序列化。 7. 支持携带格式:f

    最新的fastjson工具包2.0.11+JSON序列化与反序列工具包

    支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。侵删 因为在GitHub网站上加载的速度太慢了,先放到这里。

    fastjson-1.2.66_fastjson-1.2.66.jar_Fastjson_

    - **反序列化**:相反,Fastjson也能将JSON字符串解析为Java对象,如`JSON.parseObject(jsonStr, YourClass.class)`,这便于从JSON数据中恢复Java对象。 2. **API设计与性能优化** - **流式API**:Fastjson提供...

    Fastjson介绍.pptx

    此外,Fastjson能够处理循环引用的对象,支持对代理对象(如CGLIB和javassist生成的)的序列化和反序列化。它还能够自动识别多种日期格式,并支持只读的List/Map的反序列化。Stream API使得处理大型对象和JSON文本变...

    fastjson的jar包 绿色版

    这个库支持JSON对象和Java对象之间的相互转换,包括JSON字符串到Java对象的反序列化,以及Java对象到JSON字符串的序列化。它还提供了解析JSON字符串和生成JSON字符串的方法,使得处理JSON数据变得简单易行。 其次,...

    fastJSON.docx

    FastJSON 序列化和反序列化是 JSON 库涉及的最基本功能。 FastJSON 支持 Java Bean 的直接序列化,可以使用 com.alibaba.fastjson.JSON 这个类进行序列化和反序列化。基本序列化就是把 JavaBean 对象转化成 JSON ...

    fastjson使用

    - **缓存**:对于频繁使用的序列化/反序列化对象,可以考虑使用 Fastjson 提供的缓存机制提高性能。 - **注意性能**:尽量减少不必要的 JSON 转换,尤其是在循环或高并发场景下。 ### 5. 示例代码 Fastjson-master...

    fastjson-1.2.35.jar

    Fastjson是阿里巴巴开源的一款高性能的JSON库,它具有轻量级、快速、易用的特点,广泛应用于Java开发中,用于JSON数据的序列化和反序列化。在版本1.2.35中,Fastjson继续保持着其卓越的性能和稳定性的优势,为开发者...

    阿里巴巴 fastJson jar包

    1. **序列化与反序列化**:Fastjson提供了将Java对象转化为JSON字符串以及将JSON字符串转化为Java对象的能力。这极大地方便了开发者在Java代码中处理JSON数据,无需手动进行繁琐的转换。 2. **高性能**:Fastjson...

    fastjson 常用 总结

    - 在反序列化过程中,如果JSON对象包含Java Bean没有的字段,Fastjson默认会抛出异常。可以使用`@JSONField(serialize=false, deserialize=false)`注解来忽略这些字段。 8. **处理泛型** - Fastjson支持泛型,...

Global site tag (gtag.js) - Google Analytics