2016 - 2024

感恩一路有你

string字符串转json 有Protocol buffer这种轻便的序列化反序列化工具,Json为什么还会大量使用?

浏览量:2802 时间:2021-03-17 15:16:18 作者:admin

有Protocol buffer这种轻便的序列化反序列化工具,Json为什么还会大量使用?

原因很简单:

1,json是JavaScript原生支持的,没有外部依赖

2,json具有人眼可读性

3,开发人员偷懒

关于序列化的协议和框架,估计都可以出一本百科全书了,热门一点的如:

xml、json、bson、Hessian、protocol buffers...

还有很多小众冷门的,排名不分先后。

虽然有各种各样的协议和框架,但序列化本质上可以分为两种:

  • 二进制协议,如 bson、Hessian、protocol buffers等,将数据转换为二进制形式。
  • 文本协议,如 xml,json 等,这类协议将数据转换为文本(字符串)的形式。

二进制协议的优点是体积小效率高,例如protocol buffers可以用将数据压缩到位(bit),序列化和反序列化的性能也很好,非常适用于各种系统通讯和接口调用。

但问题也在这里,二进制数据几乎没有可读性,所以在开发和调试程序时,对程序员来说就比较痛苦,尤其是频繁变化的数据结构。

文本协议则刚好相反,数据体积大,性能差,却能满足可读性要求。例如我们可以轻松看懂一段json,或者人肉构造数据。 对于快速开发和web开发来说,可以提高开发效率,开发人员不用过多关注协议或者框架,专注业务。

我的观点是:

1,对于业务稳定,性能要求极高的场景,优先使用 protocol buffers 等二进制序列化协议

2,对于性能要求不高,业务变化频繁的场景,优先使用 json、xml 等文本协议

string字符串转json json反序列化注意的问题 json序列化是什么意思

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。