string字符串转json 有Protocol buffer这种轻便的序列化反序列化工具,Json为什么还会大量使用?
有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序列化是什么意思
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。