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 相关文章推荐
js几个验证函数代码
Mar 25 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
Dec 19 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
Mar 03 Javascript
这段js代码得节约你多少时间
Dec 20 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
超简单JS二级、多级联动的简单实例
Feb 18 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
Jun 09 Javascript
jQuery插件datalist实现很好看的input下拉列表
Jul 14 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
Sep 01 Javascript
JS+CSS实现仿msn风格选项卡效果代码
Oct 22 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
Feb 21 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
Dec 10 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
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
vue模仿网易云音乐的单页面应用
2019/04/24 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python使用配置文件过程详解
2019/12/28 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
详解Python IO口多路复用
2020/06/17 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
编码实现字符串转整型的函数
2012/06/02 面试题
体育教育专业自荐信范文
2013/12/20 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
煤矿安全生产标语
2014/06/06 职场文书
学校清明节活动总结
2014/07/04 职场文书
投诉书格式范本
2015/07/02 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书