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 eval解析JSON中的注意点介绍
Aug 23 Javascript
用JS做的简单的可折叠的两级树形菜单
Sep 21 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
vue页面离开后执行函数的实例
Mar 13 Javascript
JavaScript类型相关的常用操作总结
Feb 14 Javascript
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
小程序实现层叠卡片滑动效果
Aug 26 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
layui的表单提交以及验证和修改弹框的实例
Sep 09 Javascript
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 Javascript
jQuery zTree如何改变指定节点文本样式
Oct 16 jQuery
解决vue项目打包上服务器显示404错误,本地没出错的问题
Nov 03 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
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
php获取汉字首字母的函数
2013/11/07 PHP
隐性调用php程序的方法
2015/06/13 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
鼠标图片振动代码
2006/07/06 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
举例详解Python中的split()函数的使用方法
2015/04/07 Python
Python 加密的实例详解
2017/10/09 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
室内设计自我鉴定
2013/10/15 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
2014年团工作总结
2014/11/27 职场文书
维稳承诺书
2015/01/20 职场文书
师范生见习自我总结
2015/06/23 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
Python实现Hash算法
2022/03/18 Python
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript