Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29954117
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2009-12-09 09:14:14

这个插件的作用:将XML数据转换成JSON数据格式!
示例代码如下:
客户端的代码


   
       
       
       
       
   
   
               
   

通过AJAX请求一个XML文件其中服务器端的XML文件内容如下:
 
 
     
        武汉 
           黄石 
           宜昌 
           天门 
      
 
       
          邵阳 
          长沙 
          岳阳 
     
 
 

这段XML通过这个插件转换之后就变成如下的JSON数据类型了:
 {
 province:[
     [[{city:'武汉'}],[{city:'黄石'}],[{city:'宜昌'}],[{city:'天门'}],[{name:'湖北'}]],
     [[{city:'邵阳'}],[{city:'长沙'}],[{city:'岳阳'}],[{name:'湖南'}]]
 ]
 }
PS:其中的name好像不对哦!!!我取不出来数据???不知道转换后的JSON格式是如何的?

alert(json.province[0].city[0].text);能够正常取数据就是不知道name哪?

哈哈我知道了!
应该正确的JSON格式是:
 {
 province:[
     [{name:'湖北'},[{city:'武汉'}],[{city:'黄石'}],[{city:'宜昌'}],[{city:'天门'}]],
     [{name:'湖南'},[{city:'邵阳'}],[{city:'长沙'}],[{city:'岳阳'}]]
 ]
 }
所以此时如果你想要提取属性city的值的话就非常简单的了
alert(json.province[1].name);

哈哈有了这个工具将来如果有其他的地方过来了接口我就可以直接将其转换成JSON数据格式然后用JQuery作解析。非常快的哦!
关键是要能够知道这段XML解析之后的JSON是什么样子的。

示例二:XML示例如下
 
> 
 color='Black'> 
>Rufus 
>labrador 
 
 breed='whippet'> 
Adopted 
>Marty 
 
 color="White"> 
>Matilda 
 

经过转换的JSON代码如下:
一、简单的转换即没有加true选项
var animals = $.xml2json(xml);
经过转换之后的JSON代码如下:
{ 
dog:[ 
{ name:'Rufus', breed:'labrador', color:'Black' }
{ text:'Adopted', name:'Marty', breed:'whippet' } 
], 
cat:{ name:'Matilda', color:'White'} 
}
这个时候提取数据的方法:
animals.dog[0].name === 'Rufus';

二、经过转换即高级
var animals = $.xml2json(xml, true);
这样出来的JSON为:
{ 
dog:[ 
{ name:['Rufus'], breed:['labrador'], color:'Black' }
{ text:'Adopted', name:['Marty'], breed:'whippet' } 
], 
cat:[ 
{ name:'Matilda', color:'White'} 

}
提取数据的方法:
animals.dog[0].name[0].text === 'Rufus';
明白一点:如果是高级转换的话是每遇到一个节点就生成一个数组出来的!
故而:在这里面的name什么的都会变成是一个数组变量了!

示例三:
XML文件如下



0.8
1234
12


12
25


23
1234
12


通过高级转换之后的JSON文件如下:

{
sysinfo:[
{cpu:['0.8'],memory:['1234'],disk:['12']}
],
resin-app:[
{conn-num:['12'],active:['25']}
],
mysql-app:[
{curr-conn:['23'],memory:['1234'],slave:['12']}
]
}
提取数据的方法:

alert(json.sysinfo[1].memory[0].text);





阅读(1429) | 评论(0) | 转发(0) |
0

上一篇:SVN学习摘要

下一篇:dtree控件

给主人留下些什么吧!~~