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 相关文章推荐
greybox——不开新窗口看新的网页
Feb 20 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
Apr 30 Javascript
简单的前端js+ajax 购物车框架(入门篇)
Oct 29 Javascript
利用jQuery实现可以编辑的表格
May 26 Javascript
JS来动态的修改url实现对url的增删查改
Sep 05 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
AJAX和jQuery动态加载数据的实现方法
Dec 05 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
AngularJS中的拦截器实例详解
Apr 07 Javascript
JavaScript之生成器_动力节点Java学院整理
Jun 30 Javascript
封装微信小程序http拦截器过程解析
Aug 13 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
Oct 26 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
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
解析php框架codeigniter中如何使用框架的session
2013/06/24 PHP
golang与PHP输出excel示例
2016/07/22 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
[17:36]VG战队纪录片
2014/08/21 DOTA
Python入门篇之字符串
2014/10/17 Python
Python中的super()方法使用简介
2015/08/14 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
公司前台辞职报告
2014/01/19 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
综合管理员岗位职责
2015/02/11 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android