数据封装的过程是什么(XML与JSON在WEB中对数据封装解析的对比)
XML和JSON作为封装数据,已经成为主要的数据交换格式。这是一种允许用户用对自己的标记语言定义的源语言。XML语法对,所有的XML元素都必须合理地包含在内,并且所有的XML文档都必须有一个根元素。XML元素的属性按名称/值显示为对。XML的法规标准要求必须引用XML元素的属性值。
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。