温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
程序员一定要了解常用的数据格式和他们的优缺点,因为无论是配置文件序列化、数据请求还是消息交换中都会用到,但我保证很多同学不会全部知道,所以我特地做了汇总。请将本视频看完,一定让你大开眼界。1XML可扩展标记语言早在九八年诞生,和俺一样大,用它来表示一位学生的信息,大概是这样的。它的优点是格式标准简单而又灵活,层级一目了然,但缺点也很明显,内容重复导致数据量变大。因此现在很少用叉ML来做数据交换,取而代之的是更为轻量级的Jason格式。听名字就知道它和javascript的关系很铁,用它来表示同样的学生信息,你会发现精简了很多。Jason是现在主流的前后台交互数据格式,数据量小,传输快且具有良好的可读性,便于快速编写。但是呢,Jason他也不是无敌的,它的语法过于严谨,并且无法添加注释,所以呢,就有聪明的人设计了season。
01:15
面向coffee script脚本语言的Jason,但它比Jason的语法更宽松,更精简,还可以编写注释,但是比较局限,现在用的人还不多。Jason虽然已经很清亮,已经很快了,但是还有更快的。像proTo Buff,它是Google开发的用于高效存取结构化数据的工具。你需要先定义一个格式文件,比如说学生,ProTo Buff会根据该文件对消息进行压缩、发送和接收解析,从而提高传输的效率。但它虽然性能高,可读性和通用性却低了一些。然后还有一些配置文件中经常用到的数据格式。先说说properties,它是一本字典,一个键名对应一个值,非常的直白,被广泛的应用于项目的属性定义。但是它的缺点也很明显,就是需要重复定义很多的字段,要修改的时候就很麻烦。因此现在很多框架都开始使用Yum格式来作为配置文件。Yum是Jason的孙子,不仅完美继承它的语法,还更简洁优雅,功能更强大。它用空格表示,缩进结构就像一棵树,可读性贼高,还很适合作为数据序列化格式。
02:34
最后啊,再来说说这个新星Tom目标是成为最小的配置文件格式,它彻底放弃了括号和缩进,而是采取了链式声明的方式,更易于阅读。Tom也贼灵活,可以无二义性的转换为一个哈希表,从而支持各种编程语言的解析,也越来越多的应用在配置文件中。哎呀,说了这么多,小伙伴们使用过几种呢?欢迎在屏幕上告诉我。那总结一下,从chamlil Jason再到Tom,虽然数据格式很多,但他们都是在朝着便于人类和机器理解数据的目标发展。
03:14
表达能力越来越强,书写也越来越快捷。当然人们的需求是多样的,因此各种格式都有适合的应用场景,没有绝对的优劣啊,未来也必然会出现更先进更多元的数据格式。好了,偶尔小伙伴们觉得有用请扣一,没用请扣二,大家的意见和支持会帮助我阐述更好的作品。我是鱼皮还有更多编程干货。
我来说两句