首页 - 范文大全 - 文章正文

数据封装的过程是什么(XML与JSON在WEB中对数据封装解析的对比)

时间:2020-08-31 14:46:21 作者:黑曼巴 分类:范文大全 浏览:86

XML和JSON作为封装数据,已经成为主要的数据交换格式。这是一种允许用户用对自己的标记语言定义的源语言。XML语法对,所有的XML元素都必须合理地包含在内,并且所有的XML文档都必须有一个根元素。XML元素的属性按名称/值显示为对。XML的法规标准要求必须引用XML元素的属性值。

随着信息技术的发展,AJAX技术越来越受到程序员的欢迎。XML和JSON作为封装数据,已经成为主要的数据交换格式。在网络应用中,如何选择合适的数据交换格式直接影响整个应用的性能。1概述1.1对可扩展标记语言和JSON的介绍可扩展标记语言是可扩展标记语言(有时也称为可扩展标记语言)的简称,它使信息能够以有意义的结构进行编码,在一定程度上可以被计算机和人所理解[1]。它可以用来标记数据和定义数据类型。这是一种允许用户用对自己的标记语言定义的源语言。它具有良好的可扩展性、开放性、跨平台性和互操作性。X M L最初是为了弥补H T M L的不足,满足网络信息传播的需求而设计的,具有很强的可扩展性,后来逐渐被用于网络数据的转换和描述。JSON(JavaScript对象符号)是一种数据交换格式和基于JavaScript的数据表示语言。它基于以下两种数据结构定义了基本数据描述格式:1)包含名称/值对;的集合2)有序列表[3]。JSON技术借鉴了对在javascript规范中创建的语法结构。与XML相比,JSON技术是一种轻量级的数据交换标准。1.2 XML和JSON语法对比1.2.1 XML语法简单。XML语法对,所有的XML元素都必须合理地包含在内,并且所有的XML文档都必须有一个根元素。像超文本标记语言一样,可扩展标记语言元素也可以有属性。XML元素的属性按名称/值显示为对。XML的法规标准要求必须引用XML元素的属性值。用户可以自定义标签。例如,张三注:以开头的必须以结尾,并且区分大小写。1.2.2 JSON语法1)表示对图像{属性名称1:属性值1,属性名称2:属性值2.}注意:属性名称必须用引号括起来(单引号或双引号)。如果属性值是字符串,还必须用引号括起来。属性值的类型可以是字符串、数字、布尔值、对象、空值。例如:{ '姓名':' zs ','年龄':22 };{'name':' ww ',' address': {'room': 2012}} 2)表示数组var arr=[{ attribute name 1:attribute value 1,attribute name 2:attribute value 2 } ,{ attribute name 1:attribute value 1,attribute name 2:attribute value 2 }];2包装对比现在我们做一个实验,环境如下:硬件:处理器是英特尔酷睿i5;内存是4g;硬盘:在500克笔记本电脑上。软件:浏览器:IE9;实验服务器是Tomcat6.0;数据库中的字段:姓名、性别、电话、地址;服务器取出数据并使用JSON和Xml封装和传输对的数据部分代码:XML:用户1男123345677 北京

JSON: [{ '地址':' 北京','姓名':'用户1 ','电话':' 123345677 ','性别':'男性1'},{ '地址':' 云南0 ','姓名':'用户2 ',电话':' 123345677 ','性别':'男性1'},……]服务器中的JSON封装:list=find Dao . getlistdata();//从数据库中取出数据,返回一个列表集jsonarray obj=jsonarray。fromobject(列表);字符串字符串=obj . ToString();XML从服务器端的数据库中取出数据的封装。这里,采用了dom4j封装:list=find Dao . getlistdata();//从数据库中检索数据并返回一个列表集document document=document helper . create document();

元素根=文档。添加元素(“用户”);用于(信息信息:列表){元素员工=根。添加元素(“用户”);ElEMENT name=employee . AddElEMENT(' name ');name . AddText(info . GetName());//同样,可以封装节点性别、电话和地址} string str=document . asxml();3浏览器解析对优于3.1使用JAVAScript对JSON和XML在浏览器中解析:3.1.1 JAVASCRIPT解析JSON部分代码:var OJ son=txt . evaljson();for(int I=0;Ivar showDate=ojson[i]。姓名'性别':ojson[i]。性'电话:'

Ojson[i]。ojson[i]。地址;'欧森[我]。地址;

{}

JAVAScript 3 . 1 . 2解析XML的部分代码:

var doc=xhr.responseXML

var xmlDoc=doc.documentElement

var root=doc . GetElementsBytagName(' person ');

var msg=XMldoc . GetElementsBytagName('用户');

for(int I=0;ivar elem=节点[0];

var name=elem . GetElementsBytagName(' name ')[I]。文本内容!=未定义?

elem.getElementsByTagName('名称')[0]。文本内容:

elem.getElementsByTagName('名称')[i]。文本;

{}

3.2在对浏览器上分析JSON和XML数据,得出对比率:

根据数据的增加,浏览器解析数据所需的时间如下:

从上面可以看出,在浏览器上解析JSON显然比解析XML简单得多,而且解析代码又大又复杂。从(表1)可以看出,当解析同一条记录的数据时,JSON的效率大约是XML的150倍,并且随着记录数量的增加,其倍数明显翻倍。

从表2可以看出,当传输相同的数据时,使用JSON比使用XML包格式传输文件要小。采用XML传输格式,引入了一些不必要的字符,这也占用了一定的时间和带宽,不利于网络传输。虽然可以优化XML数据访问和数据传输[2],但这已经写好了。这需要一些经验丰富的程序员来分析数据以获得优化方法。这不适合初学者和开发经验较少的程序员。

4结论

无论选择哪种技术来封装和传输对数据,都应该考虑系统的开销。考虑到系统传输数据的复杂性和数量,可以降低开发成本,改善用户体验。从以上解析和封装的比较可以看出,JSON作为数据封装格式在一般的网络应用中传输数据,解析速度快,代码少,操作简单。它在性能上明显优于XML。它可以减少XML的数据冗余。然而,在一些需要特殊功能的网络应用中,传输的数据是复杂的,所以可以使用XML。XML倾向于在企业级应用。严格的规范和众多的外围技术使得XML的应用范围易于扩展。大量的商业应用支持易于读写的XML。

上一篇:如何完善我国法律制度(论中国小额保险法律制度的完善)

下一篇:计算机虚拟化包括哪几个方面(计算机虚拟技术在计算机教学中的应用探究)

猜你喜欢
发布评论
登录后发表评论
登录后才能评论

AI 新用户?

免费使用内容重写服务

开始新的写作