protobuf被工业物联网广泛使用, 除了其效率高以外还有一个最重要的点就是其生成对象后体积小, fastjson2也能提供这种体积小的方法?
原提问者GitHub用户objectboy2016
是的,fastjson2也提供了一种类似于protobuf的体积小的方法。当fastjson2将Java对象序列化成JSON字符串时,它可以将JSON字符串紧凑化,将键和值之间的空格和换行符删除并使用压缩技术。相比而言,它将生成的JSON字符串体积大大降低。
此外,fastjson2还提供在非常密集的重复数据集合中使用引用技术(@type)来纵向压缩JSON字符串,并将重复数据转换为引用,这种方法也能进一步减小JSON字符串的体积,从而实现和protobuf一样的效果。
但需要注意的是,fastjson2和protobuf各自的使用场景和优势也不同,protobuf在网络数据传输和存储时效率更高,而fastjson2在应用场景的灵活性和开发效率方面更有优势。开发人员需要根据具体的业务需求和性能要求来选择使用哪种技术。
JSONB就是支持这种场景的。
import com.alibaba.fastjson2.JSONB;
// 序列化 byte[] jsonbBytes = JSONB.toBytes(obj);
// 反序列化 JSONB.parseObject(jsonbBytes, Bean.class);
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。