如何将多层嵌套的JSON对象转换为易于操作的多维数组?

如何将多层嵌套的json对象转换为易于操作的多维数组?

给的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对象转换为易于操作的多维数组?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1249813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月9日 21:40:47
下一篇 2025年12月9日 21:40:56

相关推荐

  • Ubuntu下PHP无法创建目录或写入文件:如何解决权限问题?

    ubuntu 下 php 无法创建目录和写入文件 在 ubuntu 中配置 lamp 环境时,用户可能会遇到 php 无法创建目录及写入文件的情况。即使已将项目权限设置为 777,apache 仍会报告错误。本文将针对此问题提供解决方案。 php 代码片段如下: $max_size = 10000;…

    2025年12月9日
    000
  • 如何实现PHP AES RSA加密算法与C#和Java的互通?

    php aes rsa 算法修改以与 c# 和 java 互通 您希望将 php 中的 aes 和 rsa 加密算法修改为与 c# 和 java 互通。具体来说,您希望能够使用这些语言相互加密和解密数据。 一种实现此目标的途径是创建一个 php 加密服务。该服务将作为一个中间层,允许您使用 c# 和…

    2025年12月9日
    000
  • 如何用jQuery实现类似谷歌搜索的自动提示功能?

    实现类似google suggest的功能 问题: 如何实现类似谷歌搜索框的自动提示功能? 回答: 可以使用 [jquery ui 自动提示](http://jqueryui.com/autocomplete/) 来实现此功能。 该插件为 控件提供自动完成功能。它从预定义的选项列表中提取匹配建议,并…

    2025年12月9日
    000
  • 如何解决系统参数设置中出现的“hash_file: failed to open stream”错误?

    根据企业情况设置系统参数 在设置系统参数时,如果遇到“hash_file(up/1437616281如何根据企业情况设置系统参数?.doc): failed to open stream: Invalid argument”错误时,可以通过以下方法解决: 当输入的路径是中文路径时,系统不会报错。但是…

    2025年12月9日
    000
  • 如何从数据库中获取数据并以 PHP 形式形成?

    要从 PHP 数据库中获取数据并将其显示在表单中,通常需要执行以下步骤:1.连接到数据库:使用 MySQLi 或 PDO 建立到数据库的连接。2.查询数据库:执行SQL查询以检索所需的数据。3.获取数据:从查询结果中获取数据。4.填充表单:使用获取的数据填写表单字段。 这是一个使用的简单示例MySQ…

    2025年12月9日
    000
  • 创建专注的领域应用程序 Symfony 方法(返回结果)

    介绍 这是本系列的最后一篇文章。在上一篇文章中,我们创建了一个应用程序服务,它使用 userentitybuilder 服务来创建实体。然后,使用条令实体管理器(这是一个基础设施服务)来持久化和刷新实体。 现在,是时候将结果返回到表示层了。 我想记住,在本系列的所有文章中,我们都将学说实体视为域实体…

    2025年12月9日
    000
  • (我的第一次)安装 Laravel

    有时,尤其是当您刚刚开始职业生涯时,您似乎遵循了指示却一事无成 – 而其他人似乎发现这非常容易。 这可能非常令人沮丧,我想描述一下即使在几十年之后我也经历完全相同的事情的几种方式。所以我在这里,试图详细描述我在努力让事情顺利进行时所犯的错误和失误。这是我关于这个主题的第一篇文章,但我希望…

    2025年12月9日
    000
  • PHP 与 MySQL:终极分步指南

    php 是一种语言,可让您在开发网页时灵活地连接和使用不同的数据库。有不同的数据库,既有商业的,也有免费使用的。其中,mysql 是与 php 并列最常用的数据库。 MySQL 是一个开源、免费使用的关系型数据库管理 系统(关系数据库管理系统)。它是一个快速、简单且高度可扩展的程序 因此可用于小型和…

    2025年12月9日 好文分享
    000
  • 您需要的 PHP CRUD 操作的最佳指南

    crud 操作通常在数据库上执行,因此,在本 php crud 操作教程中,您将借助 php 在 mysql 数据库上实现 crud 技术。    crud 缩写包含在关系数据库上执行的所有主要操作。它代表: c = 创建 r = 读取 u = 更新 d = 删除 你现在就会明白不同操作的详细信息。…

    2025年12月9日 好文分享
    000
  • 我最终尝试了 Pest for PHP & Laravel,然后进行了切换

    我在2015年中开始学习纯php。然后,我熟悉了codeigniter 3和laravel 5.1。多年来,laravel 是我选择的框架,而且我仍然坚持使用它。与其他流行的 php 项目一样,我认为 phpunit 是单元测试的唯一选择。但2021年佩斯来了,情况发生了一点变化。它是由 larav…

    2025年12月9日
    000
  • 如何修复 Windows 上的 PHP Curl HTTPS 证书颁发机构问题

    成功的 HTTPS 请求涉及 HTTP 客户端验证 服务器根据已知且受信任的根列表提供的 TLS 证书 证书。 PHP Curl 扩展没有什么不同;卷曲 扩展使用 libcurl 发出 HTTPS 请求,而 libcurl 又使用 OpenSSL 等 TLS 库来验证请求。 Curl 扩展需要一个包…

    2025年12月9日
    000
  • 如何从 PHP 文本输入中查找字符串

    我们可以使用两种不同的方法以编程方式从大型文本输入字符串中定位和检索内容。 我们可以 1) 逐字搜索文本输入(相当于在文档或浏览器中使用“CTRL F”搜索),或者我们可以 2) 通过正则表达式搜索文本表达式。 使用 下面提供的代码示例,我们可以轻松利用两个 分别执行两种搜索方法的免费 API。我们…

    2025年12月9日
    000
  • 在 Laravel 应用程序中集成第三方 API 的分步指南

    主题:laravel、api、thirdpartyintegration、web 开发 php laraveltips apisinlaravel 将第三方 api 集成到 laravel 中可以通过利用外部服务(例如支付、数据检索等)来增强您的应用程序。以下是有效集成第三方 api 的分步指南和示…

    2025年12月9日
    000
  • 要避免的 fetch() 和 XMLHttp 错误

    可悲的是,我没有避免这些错误。我希望这可以帮助其他人在尝试更新网页而不完全下载新版本时避免它们。我最终得到的代码似乎有效: async function fetchdbsingle(url, str) { const datatosend = str; console.log(‘fetchdbsin…

    2025年12月9日
    000
  • 创建专注的领域应用程序 Symfony 方法(保存实体)

    介绍 在本系列的第三篇文章中,我们将创建一个准备好从我们在本系列第一篇文章中创建的 dto 持久保存到数据库的实体。 将 userinputdto 转换为实体 从本节开始,我们假设我们正在使用原则与数据库进行通信,并且我们的 user 实体如下所示: #[ormentity(repositorycl…

    2025年12月9日
    000
  • 初学者提高编程逻辑的 5 个技巧

    编程方法的5个步骤是什么?如何才能擅长编程逻辑?编程逻辑的基础是什么?初学者应该如何开始编程? 想要找到这些问题的答案吗?请继续阅读。 计算机系统中的一组规则,也称为编程逻辑,指定了某些组件的放置顺序,以使计算机硬件能够执行特定任务。换句话说,编程逻辑是以系统的方式应用规则来产生可行的结果。 编程逻…

    2025年12月9日
    100
  • 如何在 Laravel 中包含 JavaScript 适用于所有场景的分步指南

    如何在 laravel 11 中包含 javascript:适用于所有场景的分步指南 在 laravel 11 中,向项目添加 javascript 变得轻而易举,这要归功于默认的资源捆绑器 vite。以下是如何为各种场景设置 javascript,从全局包含到特定视图中的条件加载。 1. 在所有文…

    2025年12月9日
    000
  • 如何用php代码建表

    如何在 PHP 中使用 MySQL 创建表?连接到 MySQL 数据库。编写 CREATE TABLE 语句,指定新表及其列的结构。使用 mysqli_query() 函数执行 CREATE TABLE 语句。 如何在 PHP 中使用 MySQL 创建表 在 PHP 中使用 MySQL 创建表,需要…

    2025年12月9日
    000
  • 如何搭建nginx php

    搭建 Nginx + PHP 服务器共需要 6 个步骤:1. 安装 Nginx;2. 安装 PHP;3. 安装 PHP-FPM Nginx 模块;4. 配置 Nginx,创建配置文件并设置监听端口、服务器名称、根目录、文件查找顺序等;5. 配置 PHP,调整 PHP-FPM 池设置,包括监听端口、用…

    2025年12月9日
    000
  • php中不允许使用关键字来为变量命名吗

    PHP不允许使用关键字作为变量名,因为关键字是预先定义的保留字,用于特定语法目的,如abstract、case、const、default等。而魔法方法__call()和__get()允许在特殊情况下使用关键字,但对于常规变量命名,建议避免使用关键字,以防止编译时错误和潜在冲突。 PHP中允许使用关…

    2025年12月9日
    000

发表回复

登录后才能评论
关注微信