js获取含有多层嵌套对象的JSON数据,主要应用迭代的思想。
该案例需要获取jsonData中的所有属性值。

<!DOCTYPE>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title>
</head>
<body><h1><button onclick='jsTostr(jsData,content,1)'>click</button></h1>
</body>
<script type="text/javascript">var jsData = {name: 'zhansan',year: 18,book: {price: 26,author: 'jinyong',publish: 'cdn-876'}}var content = [];function jsTostr(data,arr,flag) {for (let key in data) {if (typeof(data[key]) == 'object') {jsTostr(data[key],arr,false);} else {arr.push(data[key])}}if (flag) {console.log(arr);}}/*
函数内部自定义空数组接受所有数据
*/// function jsTostr(data,flag) {//    var arr3=[];//     var arr=[];//  for (let key in data) {//       if (typeof(data[key]) == 'object') {//          var arr1=jsTostr(data[key],false);//           arr3=arr.concat(arr1);//       } else {//          arr.push(data[key]);//      }//     }//     if (flag) {//   console.log(arr3);//    return arr3; /* 递归函数最终返回值*///   }//     return arr; /*递归函数每次执行返回值*/// }
</script>
</html>

注释部分同样可实现递归获取JSON数据内部所有属性值,最终结果为arr3。
由于js中concat()不改变原数组,所以,该方法中arr始终是每一次递归函数中的所有属性值,也就是每一个对象中的所有属性值。最后一行返回的arr始终是最外层的所有属性值。

tips:JSON中所有属性的数据类型都是string。

js遍历多层嵌套对象存在的JSO数据相关推荐

  1. python遍历多层嵌套列表_python遍历多层嵌套列表

    python 多层嵌套的json内容 怎么获取 如下,已经实现获取json中的指定内容,先在的问题是:有的json目标内容可以首先使用json包的loads函数对json数据进行解析,然后就可以像操作 ...

  2. JS遍历数组和对象的方法

    JS遍历数组的方法有: for forEach for-in for-of map JS遍历对象的方法有 for-in Object.keys Object.getOwnPropertyNames(o ...

  3. JQuery和原生JS遍历数组和对象的对比

    目录 1 遍历数组 1.1 JQuery遍历数组 1.2 原生JS遍历数组 2 遍历对象 2.1 JQuery遍历对象 2.2 原生JS遍历对象 1 遍历数组 1.1 JQuery遍历数组 在JQue ...

  4. vue使用js遍历数组和对象

    前言 在vue中,遍历数组和对象的方式略有不同,不能完全以数组或对象的遍历方式给对方使用并获取数据.为了记录以及以后方便查看,现在对其进行整理. 数组遍历 以数组 array = [1,2,3,4,5 ...

  5. js table多层嵌套_只会console.log?8个高效调试js的console方法

    每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率.本文将介绍8个有趣的Console方法,即使JavaScrip ...

  6. js 遍历数组及对象属性

    遍历数组: for(let i of arr){console.log(i); } 遍历对象属性: for (let i of Object.keys(obj)){console.log(param[ ...

  7. 原生js遍历 json数组对象

    //无规律 <script>var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}];for(var i=0,l=json.l ...

  8. JS遍历数组,对象,字符串

    数组遍历 for --使用变量将数组长度缓存起来,在数组较长时性能优化效果明显 for(var i=0,len=arr.length;i<len;i++){console.log("元 ...

  9. js中的JSON对象转换,过滤特殊字符数据

    //过滤特殊字符数据 function checkMetacharacter(obj){ var value = $(obj).val(); var items = ["~", & ...

最新文章

  1. 一口气带你踩完五个 List 的大坑,真的是处处坑啊!
  2. 福布斯:2016年物联网预测和市场估算总结
  3. 金蝶BOS社区版Beta1 下载
  4. C++ leetcode 面试题64. 求1+2+…+n
  5. 鸟哥的Linux私房菜(基础篇)- 一个简单的 SPFdisk 分割实例
  6. 有很多人都想知道SSD201开放了openwrt到底有什么好处?为什么好多开发者都盼着要呢?
  7. case --when
  8. 在JavaEE中使用CDI的简单面向方面的编程(AOP)
  9. 栈应用_检测成对符号是否正确使用(代码、分析、汇编)
  10. 前端学习(2345):uniapp学习
  11. CVPR 9999 Best Paper——《一种加辣椒的番茄炒蛋》
  12. 12v驱动光耦用多大的电阻_倍思10000mAh PD快充充电宝拆解,内置多合一双向快充芯片...
  13. 魔方机器人之下位机编程---------舵机控制
  14. HADOOP再进阶:本地Yum软件源安装Cloudera Manager 5
  15. Linux查看最后一页日志,linux常用查看文件或日志命令
  16. MATLAB的输入与输出
  17. 小白学习cartopy气象画地图的第二天(中国区域,陆地温度分布图)
  18. 软考常考知识点整理-项目人员配备管理计划
  19. python爬虫--爬取9某1看剧网电视剧
  20. 云计算背景下企业发展出现新变化

热门文章

  1. 软件设计原则(四)依赖倒置原则 -Dependence Inversion Principle
  2. 本文把 TCP/IP 讲绝了
  3. 解析JavaScript中的字符串类型与字符编码支持
  4. 中年女子颈肩手肿痛案
  5. asp.net生命周期
  6. 实现基于虚拟用户的邮件系统架构
  7. linux iptables 端口 防火墙 规则
  8. 使用oauth2.0自动获取用户信息
  9. PHP 实现移除数组中项目为空的元素或为某值的元素
  10. php页面生成耗时分析