XML与JSON

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

XML和JSON目录一XML二JSON三XML和JSON的区别1.XML简介1XML(EXtensibleMarkupLanguage)指可扩展标记语言2XML是一种标记语言,很类似HTML3XML的设计宗旨是传输数据,而非显示数据4XML标签没有被预定义,需要自行定义标签5XML被设计为具有自我描述性6XML是W3C的推荐标准下面是John写给George的便签,存储为XML:notetoGeorge/tofromJohn/fromheadingReminder/headingbodyDon'tforgetthemeeting!/body/notenotetoGeorge/tofromJohn/fromheadingReminder/headingbodyDon'tforgetthemeeting!/body/note下面是John写给George的便签,存储为XML:XML是对HTML的补充。XML不会替代HTML。在大多数web应用程序中,XML用于传输数据,而HTML用于格式化并显示数据。对XML最好的描述是:XML是独立于软件和硬件的信息传输工具。2.xml的用途XML把数据从HTML分离通过XML,数据能够存储在独立的XML文件中。这样你就可以专注于使用HTML进行布局和显示,并确保修改底层数据不再需要对HTML进行任何的改变。XML简化数据共享XML数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。这让创建不同应用程序可以共享的数据变得更加容易XML简化平台的变更XML数据以文本格式存储。这使得XML在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。XML使您的数据更有用不同的应用程序都能够访问您的数据,不仅仅在HTML页中,也可以从XML数据源中进行访问。XML用于创建新的Internet语言XML用于创建新的Internet语言,XHML;WSDL;WAP和VML;RSS;RDF和OWL;SMLXML简化数据传输对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。由于可以通过各种不兼容的应用程序来读取数据,以XML交换数据降低了这种复杂性。3.XML树结构•XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。•?xmlversion=1.0encoding=ISO-8859-1?#声明•note#根元素•toGeorge/to•fromJohn/from•headingReminder/heading#子元素•bodyDon'tforgetthemeeting!/body•/note#根元素的结尾实例bookstorebookcategory=COOKINGtitlelang=enEverydayItalian/titleauthorGiadaDeLaurentiis/authoryear2005/yearprice30.00/price/bookbookcategory=CHILDRENtitlelang=enHarryPotter/titleauthorJK.Rowling/authoryear2005/yearprice29.99/price/bookbookcategory=WEBtitlelang=enLearningXML/titleauthorErikT.Ray/authoryear2003/yearprice39.95/price/book/bookstore所有XML元素都须有关闭标签XML标签对大小写敏感XML文档必须有根元素XML必须正确地嵌套pThisisaparagraph错pThisisaparagraph/p对Message这是错误的。/messagemessage这是正确的。/messagebiThistextisboldanditalic/b/i错biThistextisboldanditalic/i/b对XML文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。4.XML语法规则messageifsalary1000then/messagemessageifsalary<1000then/message在XML中编写注释的语法与HTML的语法很相似:!--Thisisacomment--在HTML:HellomynameisDavid.输出:HellomynameisDavid.notedate=08/08/2008错notedate=08/08/2008对实体引用XML中的注释XML的属性值须加引号在XML中,空格会被保留JSON目录一什么是JSON二JSON基本语法三JSON应用举例JavaScriptJavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。JSON(JavaScriptObjectNotation)JSON是存储和交换文本信息的语法,类似XML;可以表达String、Number、Boolean、数组、甚至对象等数据;适合于web服务器与JavaScript客户端的交互;简结清晰的层次结构易于阅读和编写;同时也易于机器解析和生成,有效地提升网络传输效率。JSON语法规则JSON实际上基于JavaScript语法的一个子集。值的表示字符串、数值、true、false、null、Object或数组等。字符串abc、\r\n、\u00A9数值123、-123.5布尔true、falsenullJSON的对象用{}包含一系列无序的Key-Value键值对表示,其中Key和Value之间用冒号分割,每个key-value之间用逗号分割。代码格式如下:实例:{firstName:John,“lastName”:“Smith”}关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组;访问其中的数据,通过obj.key来获取对应的value。JSON数组数组是值(value)的有序集合,使用[]包含所有元素,每个元素用逗号分隔,元素可以是任意的值。值之间使用“,”(逗号)分隔。实例:[{firstName:John,lastName:Doe},{firstName:Anna,lastName:Smith},{firstName:Peter,lastName:Jones}]访问其中的元素,使用索引号,从0开始JSON复杂语法复杂数据表示Object或数组中的值还可以嵌套另一个Object或者数组,以表示更复杂的数据比如:Listlist=newArrayList();List.add(emp)[{name:张三,age:18,loves:[看书,玩游戏]},{name:王五,age:20,loves:[旅游]}];比较varcomStr='thisisstring';varjsonStr={StudentID:'100',Name:'tmac',Hometown:'usa'};varjsonObj={StudentID:100,Name:tmac,Hometown:usa“};字符串:指使用“”双引号或’’单引号包括的字符Json字符串Json对象JSON与XML类似XMLJSON是纯文本JSON具有“自我描述性”(人类可读)JSON具有层级结构(值中存在值)JSON可通过JavaScript进行解析JSON数据可使用AJAX进行传输相比XML的不同之处没有结束标签更短读写的速度更快能够使用内建的方法进行解析使用数组XML与JSON比较实例比较XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较。现假设有一个用户数据包括:用户名、密码、所在部门、性别、年龄。用XML表示如下:?xmlversion=1.0encoding=utf-8?username张三/namepassword123456/passworddepartment技术部/departmentsex男/sexold30/old/user用JSON表示如下:{name:张三,password:123456,department:技术部,sex:男,old:30}与XML一样,JSON也是基于文本的,且它们都使用Unicode编码,同样具有可读性。XML比较适合于标记文档,而JSON却更适合于时行数据交换处理。JSON与XML的比较可读性JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。可扩展性XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。编码难度XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。解码难度XML的解析得考虑子节点父节点,而JSON的解析难度几乎为0。JSON应用JSON文本格式数据如何解析成对象比如:vars={'name':'张三','age':20};可使用JavaScript的eval()函数来解决varobj=eval((+s+));alert(obj.name);eval()函数使用的是JavaScript编译器,可解析JSON文本,然后生成JavaScript对象。必须把文本包围在括号中,这样才能避免语法错误。Javascript中的JSONhtmlbodyh2通过JSON字符串来创建对象/h2pFirstName:spanid=fname/spanbr/LastName:spanid=lname/spanbr//pscripttype=text/javascriptvartxt='{employees:['+'{firstName:Bill,lastName:Gates},'+'{firstName:George,lastName:Bush},'+'{firstName:Thomas,lastName:Carter}]}';varobj=eval((+txt+));document.getElementById(fname).innerHTML=obj.employees[1].firstNamedocument.getElementById(lname).innerHTML=obj.employees[1].lastName/script/body/html结果

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功