JSON与XML的异同之处简述
来源:互联网 发布:asp购物网站源码 编辑:程序博客网 时间:2024/05/22 10:33
JSON:JavaScript Object Notation(JavaScript对象表示法)
JSON是存储和交换文本信息的语法,类似XML
JSON比XML更小、更快、更易解析
定义介绍
(1).XML定义
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
(2).JSON定义
JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。
JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。
与XML相同之处:
(1)JSON是纯文本
(2)JSON具有“自我描述性”(人类可读)
(3)JSON具有层次结构
(4)JSON可通过JavaScript进行解析
(5)JSON数据可使用AJAX进行传输
与XML不同之处:
(1)没有结束标签
(2)更短(数据体积小)
(3)读写速度更快
(4)能够使用内建的JavaScript eval()方法进行解析
(5)使用数组
(6)不使用保留字
(7)JSON对数据的描述性没有XML好
为什么使用JSON?
对于AJAX应用程序来说,JSON比XML更快更易使用:
使用XML:
(1)读取XML文档
(2)使用XML DOM来循环遍历文档
(3)读取值并存储在变量中
使用JSON:
(1)读取JSON字符串
(2)用eval()处理JSON字符串
扩展:
XML和JSON优缺点
(1).XML的优缺点
<1>.XML的优点
A.格式统一,符合标准;
B.容易与其他系统进行远程交互,数据共享比较方便。
<2>.XML的缺点
A.XML文件庞大,文件格式复杂,传输占带宽;
B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;
D.服务器端和客户端解析XML花费较多的资源和时间。
(2).JSON的优缺点
<1>.JSON的优点:
A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;
C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;
D.在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;
E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。
<2>.JSON的缺点
A.没有XML格式这么推广的深入人心和使用广泛,没有XML那么通用性。
- JSON与XML的异同之处简述
- 简述Spring容器与SpringMVC的容器的异同之处
- html与xml的异同
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- epoll与iocp的异同之处
- Python字典与json的异同
- JSON 入门 之 JSON与XML 的比较(一)
- HTML与XML异同
- 简述xml与html的区别
- Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能
- 科学美国人60秒:在嘈杂环境中的青蛙或会发出视觉信号
- 【第十章】集成其它Web框架 之 10.2 集成Struts1.x ——跟我学spring3
- 动态规划1015
- Struts2_Action访问与Action方法调用
- JSON与XML的异同之处简述
- 精挑整理 8款HTML5/jQuery应用,高端大气上档次特效
- HTML DOM 定向到新的网页 位置定位
- 党课心得五(杂谈)
- Spark性能优化第一季
- 简单遥杆的实现
- 堆排序(JAVA)
- Caffe 抽取CNN网络特征 Python
- java常用设计模式总结