jquery JSON的解析方式示例介绍


Posted in Javascript onJuly 27, 2014

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

这里首先给出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://gaoyusi.blog.163.com/",{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); 

}); 
});
Javascript 相关文章推荐
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
jquery弹出层类代码分享
Dec 27 Javascript
javascript 表格内容排序 简单操作示例代码
Jan 03 Javascript
javaScript中Math()函数注意事项
Jun 18 Javascript
浅析angularJS中的ui-router和ng-grid模块
May 20 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
May 24 Javascript
js剪切板应用clipboardData实例解析
May 29 Javascript
基于Angularjs实现分页功能
May 30 Javascript
jQuery AJAX timeout 超时问题详解
Jun 21 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
May 11 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
Jul 22 Javascript
详解JSON Web Token 入门教程
Jul 30 Javascript
jQuery提交多个表单的小技巧
Jul 27 #Javascript
用javascript对一个json数组深度赋值示例
Jul 27 #Javascript
在JS数组特定索引处指定位置插入元素
Jul 27 #Javascript
多个$(document).ready()的执行顺序实例分析
Jul 26 #Javascript
jquery 取子节点及当前节点属性值
Jul 25 #Javascript
jquery text()方法取标签中的文本
Jul 25 #Javascript
jquery根据属性和index来查找属性值并操作
Jul 25 #Javascript
You might like
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
python生成lmdb格式的文件实例
2018/11/08 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
Python 占位符的使用方法详解
2019/07/10 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
python属于解释型语言么
2020/06/15 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
建龙钢铁面试总结
2014/04/15 面试题
部队反四风对照检查材料
2014/09/26 职场文书
客服专员岗位职责
2015/02/10 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
民间借贷借条如何写
2015/05/26 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
pytorch 实现多个Dataloader同时训练
2021/05/29 Python