Jquery解析json字符串及json数组的方法


Posted in Javascript onMay 29, 2015

本文实例讲述了Jquery解析json字符串及json数组的方法。分享给大家供大家参考。具体如下:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<script src="js/jquery-1.6.2.min.js"></script> 
</head> 
<body> 
<hr /> 
<h3>解析json字符串、json数组</h3> 
<input type="button" id="jsonBtn" name="jsonBtn" value="jsonArray" /> 
<input type="button" id="jsonArray2" name="jsonArray2" value="jsonArray2" /> 
<input type="button" id="jsonStr" name="jsonStr" value="jsonStr" /> 
<input type="button" id="jsonStr2" name="jsonStr2" value="jsonStr2" /> 
<hr /> 
<div class="jsonText"> 
 {"ret": 0, "msg": "", "is_lost":0, "nickname": "小米", "gender": "男", "province": "广东", "city": "广州", "year": "1990", "figureurl": "http:\/\/qzapp.qlogo.cn\/qzapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/30", "figureurl_1": "http:\/\/qzapp.qlogo.cn\/qzapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/50", "figureurl_2": "http:\/\/qzapp.qlogo.cn\/qzapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/100", "figureurl_qq_1": "http:\/\/q.qlogo.cn\/qqapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/40", "figureurl_qq_2": "http:\/\/q.qlogo.cn\/qqapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/100", "is_yellow_vip": "0", "vip": "0", "yellow_vip_level": "0", "level": "0", "is_yellow_year_vip": "0"} 
</div> 
<hr /> 
<div class="jsonArray"> 
 { 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:'商洛市'} 
  ], 
 json: 
  [ 
  {name:'6103',value:'宝鸡市'}, 
  {name:'6104',value:'咸阳市'}, 
  {name:'6107',value:'汉中市'}, 
  {name:'6108',value:'榆林市'}, 
  {name:'6110',value:'商洛市'} 
  ] 
 } 
</div> 
<hr /> 
<div class="jsonArray2"> 
 [ 
 {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:'商洛市'} 
 ] 
</div> 
</body> 
</html> 
<script type="text/javascript"> 
 ///jQuery 解析json字符串 
 //解析复杂的json数组 
 $("#jsonBtn").click(function(){ 
 var data=$(".jsonArray").html(); 
 alert("-----"+data); 
 var dataObj=eval("("+data+")");//转换为json对象 
 alert(dataObj.root.length);//输出root的子对象数量 
 alert(dataObj.json.length);//输出json的子对象数量 
  //遍历json数组 
  $.each(dataObj.root, function(i, item) { 
  alert(item.name+"-----root-------"+item.value); 
  }); 
  //遍历json数组 
  $.each(dataObj.json, function(i, item) { 
  alert(item.name+"-----json-------"+item.value); 
  }); 
 }); 
 //解析单个的json数组 
 $("#jsonArray2").click(function(){ 
 var data=$(".jsonArray2").html(); 
 alert("-----"+data); 
 var dataObj=eval("("+data+")");//转换为json对象 
 alert(dataObj.length);//输出root的子对象数量 
  //遍历json数组 
  $.each(dataObj, function(i, item) { 
  alert(item.name+"-----jsonArray-------"+item.value); 
  }); 
 }); 
 ///解析标准的Json串 方法一 
 $("#jsonStr").click(function(){ 
 var json=$(".jsonText").html(); 
 alert("---2--"+json); 
  var item = jQuery.parseJSON(json); 
  alert(item.nickname); 
  alert(item.ret); 
  alert(item.figureurl ); 
 }); 
 ///解析标准的Json串,方法二 
 $("#jsonStr2").click(function(){ 
 var json=$(".jsonText").html(); 
 alert("---2--"+json); 
  var obj = eval("("+json+")"); 
  alert(obj.nickname); 
  alert(obj.ret); 
  alert(obj.figureurl ); 
 }); 
</script>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
jQuery 常见学习网站与参考书
Nov 09 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
Oct 16 Javascript
javascript中的正则表达式使用详解
Aug 30 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
JavaScript中使用数组方法汇总
Feb 16 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
jQuery实现表格元素动态创建功能
Jan 09 Javascript
validationEngine 表单验证插件使用实例代码
Jun 15 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
详解Vue的sync修饰符
May 15 Vue.js
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 #Javascript
jQuery实现返回顶部效果的方法
May 29 #Javascript
jquery读取xml文件实现省市县三级联动的方法
May 29 #Javascript
Jquery动态添加输入框的方法
May 29 #Javascript
jquery任意位置浮动固定层插件用法实例
May 29 #Javascript
JQuery控制Radio选中方法分析
May 29 #Javascript
究竟什么是Node.js?Node.js有什么好处?
May 29 #Javascript
You might like
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
js函数的引用, 关于内存的开销
2012/09/17 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
python运行时间的几种方法
2016/06/17 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
python热力图实现简单方法
2021/01/29 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
人事专员工作职责
2014/02/22 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
保险公司开门红口号
2014/06/21 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
MySQL的存储过程和相关函数
2022/04/26 MySQL