给的json数据中,有很多层的对象,将对象嵌套多层不直观,所以一般我们将其转换为多维数组进行操作,转换方法便是遍历对象,然后将对象的每个属性挂载到该层级上,如果对象的属性具有子属性,则继续进行嵌套操作.具体操作:
'use strict'; function convert(obj,keys,arr){ for (let i in obj){ if(typeof obj[i] ==='object'){ convert(obj[i],typeof obj[i] === 'object'? keys.concat(i) : keys,arr); }else{ typeof arr[keys.length-1]==='object'? arr[keys.length-1][i]=obj[i]:arr[keys.length-1]=obj[i]; } } } let json = {header: {status: "1", markid: ""}, body: {videofile: {infos: { mp4_180: { backUrl2: "http://play.g3proxy.lecloud.com/vod/v2/MTYyLzMyLzU1L2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMDE2MDYxNjkxLWF2Yy0xMjgzMzgtYWFjLTMyMDAwLTI3NjkwNjctNTc4NDc4OTItY2RkYWExZWFjYzE4MWYyZjQwYTYyMzQ0OTRmZWM0MDYtMTQ1MTg4MzU1MjQ2Ny5tcDQ=?b=167&mmsid=41080393&tm=1453967403&key=44316f829b240caa11fca65c6e479481&platid=3&splatid=347&playid=0&tss=no&vtype=58&cvid=768876645571&payff=0&pip=fc086fb11a6f4a36ce405a1bdbbf16d4&retry=1&format=1&sign=mb&dname=mobile&expect=3&p1=0&p2=00&p3=003&tag=mobile&pid=", filesize: "57847892", backUrl1: "http://117.121.54.219/vod/v2/MTYyLzMyLzU1L2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMDE2MDYxNjkxLWF2Yy0xMjgzMzgtYWFjLTMyMDAwLTI3NjkwNjctNTc4NDc4OTItY2RkYWExZWFjYzE4MWYyZjQwYTYyMzQ0OTRmZWM0MDYtMTQ1MTg4MzU1MjQ2Ny5tcDQ=?b=167&mmsid=41080393&tm=1453967403&key=44316f829b240caa11fca65c6e479481&platid=3&splatid=347&playid=0&tss=no&vtype=58&cvid=768876645571&payff=0&pip=fc086fb11a6f4a36ce405a1bdbbf16d4&format=1&sign=mb&dname=mobile&expect=3&p1=0&p2=00&p3=003&tag=mobile&pid=", mainUrl: "http://play.g3proxy.lecloud.com/vod/v2/MTYyLzMyLzU1L2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMDE2MDYxNjkxLWF2Yy0xMjgzMzgtYWFjLTMyMDAwLTI3NjkwNjctNTc4NDc4OTItY2RkYWExZWFjYzE4MWYyZjQwYTYyMzQ0OTRmZWM0MDYtMTQ1MTg4MzU1MjQ2Ny5tcDQ=?b=167&mmsid=41080393&tm=1453967403&key=44316f829b240caa11fca65c6e479481&platid=3&splatid=347&playid=0&tss=no&vtype=58&cvid=768876645571&payff=0&pip=fc086fb11a6f4a36ce405a1bdbbf16d4&format=1&sign=mb&dname=mobile&expect=3&p1=0&p2=00&p3=003&tag=mobile&pid=", backUrl0: "http://bplay.g3proxy.lecloud.com/vod/v2/MTYyLzMyLzU1L2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMDE2MDYxNjkxLWF2Yy0xMjgzMzgtYWFjLTMyMDAwLTI3NjkwNjctNTc4NDc4OTItY2RkYWExZWFjYzE4MWYyZjQwYTYyMzQ0OTRmZWM0MDYtMTQ1MTg4MzU1MjQ2Ny5tcDQ=?b=167&mmsid=41080393&tm=1453967403&key=44316f829b240caa11fca65c6e479481&platid=3&splatid=347&playid=0&tss=no&vtype=58&cvid=768876645571&payff=0&pip=fc086fb11a6f4a36ce405a1bdbbf16d4&format=1&sign=mb&dname=mobile&expect=3&p1=0&p2=00&p3=003&tag=mobile&pid=", storePath: "162/32/55/letv-uts/14/ver_00_22-1016061691-avc-128338-aac-32000-2769067-57847892-cddaa1eacc181f2f40a6234494fec406-1451883552467.mp4" }, mp4_1300: {
登录后复制
以上就是如何将多层嵌套的JSON对象转换为易于操作的多维数组?的详细内容,更多请关注抖狐科技其它相关文章!
本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢
-
Nextjs Rendering: SSR, SSG, RSC in SPAs – What’s the Deal?
Next.js 充满了诸如 SSR、SSG 和 RSC 之类的首字母缩略词,这可能会让您头晕。但这一切都是为了让网络应用程序更加流畅。SPA(单页应用程序) 就像在整个烧烤中使用一个盘子 - 您只需更...
-
方舟显卡要求 方舟生存进化最低配置要求
方舟,相信很多人都还不知道这个游戏,又或者知道这个游戏,但是,很多人都说装不上这个游戏,或者装上去使用不了。那么,这到底是哪里出了问题呢?方舟显卡要求,电脑配置需要怎样呢?方舟显卡要求 大家都知道,这...
-
Python Spark算子执行时出现“Connection reset”错误如何解决?
在 python 中执行 spark 算子时遇到“connection reset”错误? 执行 spark 算子时出现“java.net.socketexception: connection re...
-
网易云音乐称正在加大力度持续扩充版权库,近期已下线大量广告位
本站 11 月 25 日消息,针对用户关注的版权、广告及产品体验等问题,“网易云音乐小秘书”在网易云音乐评论区回应称:非常感谢大家对网易云音乐的支持和关心。本站附主要回应内容如下:版权体验:我们正在加...
-
Java lambda表达式与匿名内部类的比较
lambda表达式与匿名内部类比较:lambda表达式更简洁,编译器可以推断类型,但不能访问外部实例方法中的this关键字;匿名内部类更灵活,可以访问this关键字,但语法更复杂。Java lambd...