开发者社区 > 物联网 > 正文

protobuf被工业物联网广泛使用, 除了其效率高以外还有一个最重要的点就是其生成对象后体积小,

protobuf被工业物联网广泛使用, 除了其效率高以外还有一个最重要的点就是其生成对象后体积小, fastjson2也能提供这种体积小的方法?

原提问者GitHub用户objectboy2016

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

    是的,fastjson2也提供了一种类似于protobuf的体积小的方法。当fastjson2将Java对象序列化成JSON字符串时,它可以将JSON字符串紧凑化,将键和值之间的空格和换行符删除并使用压缩技术。相比而言,它将生成的JSON字符串体积大大降低。

    此外,fastjson2还提供在非常密集的重复数据集合中使用引用技术(@type)来纵向压缩JSON字符串,并将重复数据转换为引用,这种方法也能进一步减小JSON字符串的体积,从而实现和protobuf一样的效果。

    但需要注意的是,fastjson2和protobuf各自的使用场景和优势也不同,protobuf在网络数据传输和存储时效率更高,而fastjson2在应用场景的灵活性和开发效率方面更有优势。开发人员需要根据具体的业务需求和性能要求来选择使用哪种技术。

    2023-04-21 20:08:21
    赞同 展开评论 打赏
  • JSONB就是支持这种场景的。

    import com.alibaba.fastjson2.JSONB;

    // 序列化 byte[] jsonbBytes = JSONB.toBytes(obj);

    // 反序列化 JSONB.parseObject(jsonbBytes, Bean.class);

    原回答者GitHub用户wenshao

    2023-04-21 15:08:12
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
相关产品:

物联网领域前沿技术分享与交流

相关产品

  • 物联网平台
  • 热门讨论

    热门文章

    相关电子书

    更多
    阿里云Link物联网平台全链路的一站式开发 立即下载
    为物联网而生-高性能时间序列数据库 立即下载
    物联网在智慧园区的应用 立即下载