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 表单验证插件formValidation实现个性化错误提示
Jun 23 Javascript
基于jquery实现的省市区级联无ajax
Sep 24 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
Sep 10 Javascript
浅析JS操作DOM的一些常用方法
May 13 Javascript
javascript正则表达式中分组详解
Jul 17 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
Oct 11 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 Javascript
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
el-table-column 内容不自动换行的解决方法
Aug 14 Vue.js
浅谈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
解析PHP 使用curl提交json格式数据
2013/06/29 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
python矩阵的转置和逆转实例
2018/12/12 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
工商企业管理实习自我鉴定
2013/12/04 职场文书
黄河象教学反思
2014/02/10 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
档案工作汇报材料
2014/08/21 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2015年小学开学寄语
2015/02/27 职场文书