jQuery XML to JSON Plugin

 

jQuery XML to JSON Plugin插件是通过用js代码实现将xml文件转换为json格式的数据,方便读取,特别是用ajax读取xml后,对返回的接送格式进行操作非常方便。

例如:

<xml> 
<site>javachen.com</site> 
</xml>
通过jQuery XML to JSON Plugin可以将上面的xml转换为一下json格式:
{ 
   site: 'javachen.com'; 
}

插件使用方法:

var xml = '<xml><site>javachen.com</site></xml>'; 
var json = $.xml2json(xml); 
alert(json.site);$.get('data/hello.xml', function(xml){
var json = $.xml2json(xml); 
alert(json.site); 
});

插件下载地址:
jQuery XML to JSON Plugin

插件作者:

http://www.fyneworks.com/

使用该插件最主要的是$.xml2json方法,该方法有两个参数:(xmlfile,boolean),第二个参数可有可无,但有和无时候的含义不同用法也不同。

无第二个参数时候,例子如下:
下面xml文件地址为:
(data/animals.xml)

<?xml version="1.0" encoding="utf-8"?> 
<animals> 
<dog color='Black'> 
<name>Rufus</name> 
<breed>labrador</breed> 
</dog> 
<dog breed='whippet'> 
Adopted 
<name>Marty</name> 
</dog> 
<cat color="White"> 
<name>Matilda</name> 
</cat> 
</animals>

读取xml文件方法:

$.get('data/animals.xml', function(xml){ 
var animals = $.xml2json(xml); 
alert(animals.dog[1].name +'/'+ animals.dog[1]); 
});

In simple mode, the plugin will only use arrays and objects when necessary. It also means you don’t have to use .text (or .nodeValue) to retrieve the text of each node.

Resulting JSON object:

{ 
dog:[ 
{ name:'Rufus', breed:'labrador', color:'Black' }, 
{ text:'Adopted', name:'Marty', breed:'whippet' } 
], 
cat:{ name:'Matilda', color:'White'} 
}

Accessing the data

animals.dog === '{Array}'; 
animals.dog[0] === '{Object}'; // No text in node 
animals.dog[0].name === 'Rufus'; 
animals.dog[0].color === 'Black';// from attribute 
animals.dog[0].breed === 'labrador'; 
animals.dog[1] === 'Adopted'; // text in node (animals.dog[1].text) 
animals.dog[1].name === 'Marty'; 
animals.dog[1].breed === 'whippet'; 
animals.cat === '{Object}'; // only 1 cat, array not required 
animals.cat.name === 'Matilda'; 
animals.cat.color === 'White';

在这种情况下,该插件将xml按照父子节点,将其解析问包含数组和对象的json对象,数组里又包含有对象!

有第二个参数的情况:

$.get('data/animals.xml', function(xml){ 
var animals = $.xml2json(xml, true); 
alert(animals.dog[1].name[0].text +'/'+ animals.dog[1].text); 
});

In extended mode, the plugin converts each and every node into an array.
在这种情况下,该插件将每一个几点转换为个数组!
如下:

Resulting JSON object

{ 
dog:[ 
{ name:['Rufus'], breed:['labrador'], color:'Black' }, 
{ text:'Adopted', name:['Marty'], breed:'whippet' } 
], 
cat:[ 
{ name:'Matilda', color:'White'} 
] 
}

Accessing the data:

animals.dog === '{Array}'; 
animals.dog[0] === '{Object}'; // No text in node 
animals.dog[0].name[0].text === 'Rufus'; 
animals.dog[0].color[0].text === 'Black';// from attribute 
animals.dog[0].breed[0].text === 'labrador'; 
animals.dog[1] === '{Object}'; // node text stored in '.text' 
animals.dog[1].text === 'Adopted'; // not available in animals.dog[1] 
animals.dog[1].name[0].text === 'Marty'; 
animals.dog[1].breed[0].text === 'whippet'; 
animals.cat === '{Array}'; 
animals.cat[0] === '{Object}'; 
animals.cat[0].name[0].text === 'Matilda'; 
animals.cat[0].color[0].text === 'White';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值