开发者社区> 问答> 正文

ObjectSerializer 和 ObjectDeserializer 被移除了,有什么新的代替

ObjectSerializer 和 ObjectDeserializer 被移除了,有什么新的代替方案

原提问者GitHub用户zwq9018

展开
收起
大圣东游 2023-04-21 12:07:21 300 0
2 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    如果您在使用 ObjectSerializer 和 ObjectDeserializer 的过程中,发现这两个类已经被移除了,那么,可以考虑使用以下替代方案:

    使用 JSON 序列化和反序列化:JSON 是一种轻量级的数据交换格式,可以将任何类型的对象序列化为 JSON 字符串,也可以将 JSON 字符串反序列化为相应的 Java 对象。您可以使用 Gson、Jackson 或者 Fastjson 等 Java 库来实现 JSON 的序列化和反序列化。

    使用 Java 序列化和反序列化:Java 提供了默认的序列化框架,在 java.io 库中提供了 ObjectInputStream 和 ObjectOutputStream 两个类来实现对象的序列化和反序列化。但是,Java 序列化存在一些问题,比如序列化后的数据量较大,序列化和反序列化速度较慢,而且序列化后的数据格式不易人类阅读和理解。

    使用 Protobuf 序列化和反序列化:Protobuf 是一种 Google 开发的高效的序列化框架,可以将任何类型的对象序列化为二进制格式,同时也可以将二进制数据反序列化为相应的 Java 对象。相比于 Java 序列化,Protobuf 的优点在于序列化后的数据量小、序列化和反序列化速度快。

    总之,针对 ObjectSerializer 和 ObjectDeserializer 类被移除的情况,建议使用 JSON 或者 Protobuf 来实现对象的序列化和反序列化,根据您的实际需求选择合适的库即可。

    2023-04-21 21:08:40
    赞同 展开评论 打赏
    • Annotation介绍 https://github.com/alibaba/fastjson2/wiki/fastjson2_annotations
    • Annotation注入介绍 https://github.com/alibaba/fastjson2/wiki/mixin_cn
    • Feature介绍 https://github.com/alibaba/fastjson2/wiki/Features_cn
    • 使用Mixin注入Anntation定制序列化和反序列化 https://github.com/alibaba/fastjson2/wiki/mixin_cn
    • 实现ObjectWriter和ObjectReader实现定制序列化和反序列化 https://github.com/alibaba/fastjson2/wiki/register_custom_reader_writer_cn

    以上这些文档看是否满足你的要求

    新版本已发布,已经支持ObjectSerializer/ObjectDeserializer https://github.com/alibaba/fastjson2/releases/tag/2.0.5

    原回答者GitHub用户wenshao

    2023-04-21 15:01:12
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载