XML 和 JSON 的优缺点对比+如何实现浏览器内多个标签页之间的通信

153 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天点击查看活动详情
一、XML 和 JSON 的优缺点对比
1.可读性方面。
JSON 和 XML 的数据可读性基本相同,JSON 和 XML 的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,XML 可读性较好些。

2.可扩展性方面。
XML 天生有很好的扩展性,JSON 当然也有,没有什么是 XML 能扩展,JSON 不能的。

3.编码难度方面。
XML 有丰富的编码工具,比如 Dom4j、JDom 等,JSON 也有 json.org 提供的工具,但是 JSON 的编码明显比 XML 容易许多,即使不借助工具也能写出 JSON 的代码,可是要写好XML 就不太容易了。

4.解码难度方面。
XML 的解析得考虑子节点父节点,让人头昏眼花,而 JSON 的解析难度几乎为 0。这一点 XML 输的真是没话说。

5.流行度方面。
XML 已经被业界广泛的使用,而 JSON 才刚刚开始,但是在 Ajax 这个特定的领域,未来的发展一定是 XML 让位于 JSON。到时 Ajax 应该变成 Ajaj(Asynchronous Javascript and JSON)了。

6.解析手段方面。
JSON 和 XML 同样拥有丰富的解析手段。

7.数据体积方面。
JSON 相对于 XML 来讲,数据的体积小,传递的速度更快些。

8.数据交互方面。
JSON 与 JavaScript 的交互更加方便,更容易解析处理,更好的数据交互。

9.数据描述方面。
JSON 对数据的描述性比 XML 较差。

10.传输速度方面。
JSON 的速度要远远快于 XML

二、如何实现浏览器内多个标签页之间的通信
WebSocket、SharedWorker;
也可以调用 localstorge、cookies 等本地存储方式;
localstorge 另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件,
我们通过监听事件,控制它的值来进行页面信息通信;
注意 quirks:Safari 在无痕模式下设置 localstorge 值时会抛出 QuotaExceededError 的异常;