jquery中JSON的解析方式


Posted in Javascript onMarch 16, 2015

考虑都考虑的是服务器返回的是JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明。

var data=" 

{ 

root: 

[ 

{name:'1',value:'0'}, 

{name:'6101',value:'西安市'}, 

{name:'6102',value:'铜川市'}, 

{name:'6103',value:'宝鸡市'}, 

{name:'6104',value:'咸阳市'}, 

{name:'6105',value:'渭南市'}, 

{name:'6106',value:'延安市'}, 

{name:'6107',value:'汉中市'}, 

{name:'6108',value:'榆林市'}, 

{name:'6109',value:'安康市'}, 

{name:'6110',value:'商洛市'} 

] 

}";

这里以jquery异步获取的数据类型——json对象和字符串为依据,分别介绍两种方式获取到的结果处理方式。

1.对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次。这种方式也适合以普通javascipt方式获取json对象,以下举例说明:

var dataObj=eval("("+data+")");//转换为json对象 

alert(dataObj.root.length);//输出root的子对象数量 

$.each(dataObj.root,fucntion(idx,item){ 

if(idx==0){ 

return true; 

}

//输出每个root子对象的名称和值 

alert("name:"+item.name+",value:"+item.value); 

})

注:对于一般的js生成json对象,只需要将$.each()方法替换为for语句即可,其他不变。

2.对于服务器返回的JSON字符串,如果jquery异步请求将type(一般为这个配置属性)设为“json”,或者利用$.getJSON()方法获得服务器返回,那么就不需要eval()方法了,因为这时候得到的结果已经是json对象了,只需直接调用该对象即可,这里以$.getJSON方法为例说明数据处理方法:

$.getJSON("http://user.qzone.qq.com/2227211070",{param:"gaoyusi"},function(data){ 

//此处返回的data已经是json对象 

//以下其他操作同第一种情况 

$.each(data.root,function(idx,item){ 

if(idx==0){ 

return true;//同countinue,返回false同break 

}

alert("name:"+item.name+",value:"+item.value);

}); 

});

以上就是本文关于jQuery解析json的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
打造基于jQuery的高性能TreeView(asp.net)
Feb 23 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
Oct 11 Javascript
jquery 使用简明教程
Mar 05 Javascript
jQuery中not()方法用法实例
Jan 06 Javascript
js获取元素的外链样式的简单实现方法
Jun 06 Javascript
详解vue2路由vue-router配置(懒加载)
Apr 08 Javascript
老生常谈js中的MVC
Jul 25 Javascript
Popup弹出框添加数据实现方法
Oct 27 Javascript
ES6 Promise对象的含义和基本用法分析
Jun 14 Javascript
微信小程序里引入SVG矢量图标的方法
Sep 20 Javascript
vue实现自定义多选按钮
Jul 16 Javascript
微信小程序弹窗禁止页面滚动的实现代码
Dec 30 Javascript
浅谈js中的闭包
Mar 16 #Javascript
js完美实现@提到好友特效(兼容各大浏览器)
Mar 16 #Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
Mar 15 #Javascript
JavaScript中的DSL元编程介绍
Mar 15 #Javascript
JavaScript中的立即执行函数表达式介绍
Mar 15 #Javascript
Javascript中的arguments与重载介绍
Mar 15 #Javascript
JavaScript中的闭包介绍
Mar 15 #Javascript
You might like
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
python optparse模块使用实例
2015/04/09 Python
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python多进程机制实例详解
2015/07/02 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
工程管理专业毕业生自荐信
2014/01/24 职场文书
理财计划书
2014/08/14 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
群众路线表态发言材料
2014/10/17 职场文书
MySQL时区造成时差问题
2022/04/13 MySQL