HTML5学堂:XML和JSON是两种经典的数据格式,在AJAX当中的异步加载,申请的文件通常不是html、txt文件,而是JSON和XML。相比JSON文件比较居多。JSON和XML虽然都是数据格式,但是有所不同,到底两种有何区别呢?我们一起来看一看~
Extensible Markup Language——可扩展性标记语言
全面通用、简洁明晰、很适合各种网络应用的需要
XML声明、处理指令、XML元素
“<?”......“?>“声明的处理指令名为XML
<?处理指令名 处理指令信息?>
注释:<!-- -->
<标记名>元素内容</标记名>
<标记名 属性名1=“属性值1”,属性名2=”属性值2“>元素内容</标记名>
XML文档中的节点并不是数据结构,而是对象,这个对象包含了方法和属性
欢迎沟通交流~HTML5学堂
Javascript Object Notation——JavaScript对象符号
1)数据的无序结构——对象
"{ }" "名/值对"。使用冒号进行分隔
2)数据的有序结构——数组
"[ ]",值使用逗号","分隔
3)数据的内容——值
字符串:使用双引号引起来
数值:可以直接引用,不需要加引号
逻辑值:true/false
分隔符:分隔符是不会被解析的,因此可以在数据结构内任意位置增加空白,以实现对数据的格式化排版
JSON与XML都是一种数据格式。在前后台的交互中,通常要互相传递消息,那就需要一种两方面都能“听懂的语言”,数据格式这里就代表语言。JSON和XML就是前后台中都能理解的一种“语言“。
XML的有开关标签,代码清晰度上也没有JSON的好。从体积上来看,肯定优先选择JSON。
JSON与XML的具体区别。根据刚才的对比,我们发现JSON比XML体积要小,所以节省流量,加载速度更快。而且浏览器解析XML也会像解析HTML一样,解析成DOM树供JS使用,这个解析过程远远比JSON解析成JS对象要慢得多。JSON转成JS对象后,我们只需要JS点语法就可以找到想要的数据,不需要用getElementsByTagName那样找,非常简单。
当然JSON也有劣势,在IE7及之前的浏览器中不支持。但这种浏览器市场份额正在快速下滑。但是可以引入第三方库的支持。