JS将一个不止深度的对象转换成树结构

JS将一个不止深度的对象转换成树结构

示例数据
{
  "CODE": 200,
  "MSG": "SUCCESS",
  "ENT_INFO": {
    "BREAKLAW": [],
    "ORGDETAIL": {},
    "YEARREPORTBASIC": [
      {
        "ANCHEYEAR": "2013",
        "POSTALCODE": "300457",
        "ANCHEDATE": "2014-11-26",
        "BUSST": "开业",
        "EMAIL": "zhaojingsheng@guaiguai.cn",
        "WOMEMPNUM": "",
        "ANCHEID": "f07b130d19d830db52cae8807dbacc77",
        "ADDR": "天津经济技术开发区黄海路118号",
        "HOLDINGSMSG_CN": "",
        "REGNO": "120191000002366",
        "CREDITNO": "911201166630834097",
        "MAINBUSIACT": "",
        "ENTNAME": "天津乖乖投资控股集团有限公司",
        "TEL": "66252677",
        "EMPNUM": "2"
      }
    ],
    "METADATA": { "SOURCE": "1" },
    "MORTGAGEALT": []
  }
}

转换方法
function convertJSON(jsonObj) {
  let result = [];
  
  for (let key in jsonObj) {
    let param = {
      paramKey: key,
      paramValue: jsonObj[key],
      paramType: Array.isArray(jsonObj[key]) ? 12 : 13,
      children: []
    };
    
    if (typeof jsonObj[key] === 'object' && !Array.isArray(jsonObj[key])) {
      param.children = convertJSON(jsonObj[key]);
    } else if (Array.isArray(jsonObj[key])) {
      for (let i = 0; i < jsonObj[key].length; i++) {
        let arrayParam = {
          paramKey: "",
          paramValue: "",
          paramType: 13,
          children: convertJSON(jsonObj[key][i])
        };
        param.children.push(arrayParam);
      }
    }
    
    result.push(param);
  }
  
  return result;
}

转换结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/121660.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【紫光同创国产FPGA教程】——PDS安装教程

本原创教程由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处 一&#xff1a;软件简介 PangoDesign Suite是紫光同创基于多年FPGA开发软件技术攻关与工程实践经验而研发的一款拥有国产自主知识产权的大规模FPGA开…

京东数据分析:2023年10月京东洗衣机行业品牌销售排行榜

鲸参谋监测的京东平台10月份洗衣机市场销售数据已出炉&#xff01; 10月份&#xff0c;洗衣机市场整体销售呈上升走势。鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台洗衣机市场的销量为143万&#xff0c;环比增长约23%&#xff0c;同比增长约1%&#xff1b;销售额约…

【CSS】transition、transform以及animation

1.CSS transition 介绍 通常当 CSS 的属性值更改后&#xff0c;浏览器会立即更新相应的样式。 在 CSS3 中加入了一项过渡功能&#xff0c;通过该功能&#xff0c;我们可以将元素从一种样式在指定时间内平滑的过渡到另一种样式&#xff0c;类似于简单的动画&#xff0c;但无需…

Web前端—CSEO、Favicon、小兔鲜儿电商网站顶部设计

版本说明 当前版本号[20231108]。 版本修改说明20231108初版 目录 文章目录 版本说明目录电商平台网站顶部设计项目目录准备工作SEO 三大标签Favicon 图标布局网页版心快捷导航&#xff08;shortcut&#xff09;头部&#xff08;header&#xff09;logo导航搜索购物车 电商平…

vue使用Echarts5实现词云图

先上官网 词云图有些特殊&#xff0c;它属于Echarts 的扩展&#xff0c;需要额外安装Echarts-wordcloud包。 Echarts 官网 Echarts-wordcloud 词云图官网 先安装 npm install echarts npm install echarts-wordcloud再引入 echarts选一个引入就行&#xff1b;4或5版本都可以 …

【带头学C++】----- 三、指针章 ---- 3.11 补充重要指针知识(二,拓展基础知识)

1.指针与函数 1.1指针变量作为函数的参数 如果想在函数内部修改外部变量的值&#xff0c;可以将外部变量的地址传递给函数。 在C/C中&#xff0c;函数的参数传递方式有值传递&#xff08;传递变量的副本&#xff09;和引用传递&#xff08;传递变量的地址&#xff09;。如果希…

2023 ChinaJoy后,Flat Ads成为游戏、社交出海的新选择

今年ChinaJoy 展会&#xff0c;共吸引了来自世界各地的 500 多家企业参展&#xff0c;预计吸引超过33万人次参观。ChinaJoy年年有&#xff0c;那今年对于行业来说有什么新变化呢&#xff1f; 01 出海热潮不减&#xff0c;新增客户明显提升 据不完全统计&#xff0c;展会期间前…

腾讯待办是不是停了?怎么用其它提醒软件查看导出的ics文件

腾讯待办是腾讯企业旗下的业务产品&#xff0c;其主要以微信小程序的形式使用&#xff0c;定位于待办事项和日程管理工具&#xff0c;支持罗列日程待办清单、设定定时提醒&#xff0c;帮助大家规划日常事务和进行时间管理&#xff0c;成功创建待办事项后可在对应的公众号和绑定…

python自动化测试(4)-使用第三方python库技术实现

1 概述 关于测试的方法论&#xff0c;都是建立在之前的文章里面提到的观点&#xff1a; 功能测试不建议做自动化接口测试性价比最高接口测试可以做自动化做好接口自动化&#xff0c;一定要有透过界面看到数据本质的能力 后面所谈到的 测试自动化 也将围绕着 接口自动化 来…

〔001〕虚幻 UE5 安装教程

✨ 目录 ▷ 下载启动程序▷ 注册个人账户▷ 选择引擎版本▷ 选择安装选项▷ 虚幻商城的使用▷ 每月免费插件▷ 安装插件▷ 下载启动程序 下载地址:https://www.unrealengine.com/zh-CN/download点击上面地址,下载 UE5 启动程序并安装▷ 注册个人账户 打开商城启动程序,登录个…

浅谈数据中心机房末端配电技术与产品监控选型-安科瑞黄安南

摘要 数据中心机房末端配电的可靠性、稳定性和可维护性直接关系到IT设备的安全供电。数据中心的末端配电技术主要有两种&#xff0c;一种采用列头柜加电缆配电&#xff0c;另一种是智能小母线配电。分别对两种配电技术进行了介绍和探讨&#xff0c;最后对两种配电方式进行了对…

Flink的API分层、架构与组件原理、并行度、任务执行计划

Flink的API分层 Apache Flink的API分为四个层次&#xff0c;每个层次都提供不同的抽象和功能&#xff0c;以满足不同场景下的数据处理需求。下面是这四个层次的具体介绍&#xff1a; CEP API&#xff1a;Flink API 最底层的抽象为有状态实时流处理。其抽象实现是Process Functi…

FreeRTOS学习笔记——SysTick中断

FreeRTOS学习笔记——SysTick中断_freertos tick中断-CSDN博客 FreeRTOS 之六 任务调度原理解析&#xff08;Systick、PendSV、SVC&#xff09;_freertos m0-CSDN博客 FreeRTOS中关于时间的管理分为两部分&#xff1a;一部分是任务的延时管理;前面叙述过一些&#xff0c;还有…

常见面试题-MySQL专栏(三)MVCC、BufferPool

typora-copy-images-to: imgs 了解 MVCC 吗&#xff1f; 答&#xff1a; MVCC&#xff08;Multi-Version Concurrency Control&#xff09; 是用来保证 MySQL 的事务隔离性的&#xff0c;对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性&#xff0c;避免了频…

React中组件之间如何通信?

一、是什么 我们将组件间通信可以拆分为两个词&#xff1a; 组件通信 回顾Vue系列的文章&#xff0c;组件是vue中最强大的功能之一&#xff0c;同样组件化是React的核心思想 相比vue&#xff0c;React的组件更加灵活和多样&#xff0c;按照不同的方式可以分成很多类型的组件…

OpenHarmony,奏响中国基础软件的“光辉岁月”

梦想需要多久的时间&#xff0c;多少血和泪&#xff0c;才能慢慢实现&#xff1f; 天地间任我展翅高飞&#xff0c;谁说那是天真的预言&#xff1f; 《光辉岁月》歌词中的这两个问题&#xff0c;恰好可以送给今天的中国基础软件事业。 曾几何时&#xff0c;我们认为中国基础软件…

AI智能雷达名片平台版小程序源码系统 带完整的搭建教程

大家好啊&#xff0c;今天源码小编来给大家分享一款AI智能雷达名片平台版小程序源码系统。人工智能技术的不断发展和普及&#xff0c;越来越多的企业开始应用AI技术来提高业务效率和提升用户体验。AI智能雷达名片平台版小程序源码系统就是利用人工智能技术&#xff0c;帮助企业…

深入OpenCV Android应用开发

前言 OpenCV是Open Source Computer Vision library(开源的计算机视觉库)的缩写。它是使用最广泛的计算机视觉库。Opencv是计算机视觉领域常用的操作函数的集合&#xff0c;其自身由C/C编写而成&#xff0c;同时也提供了对Python、Java以及任意JVM语言的封装。考虑到大部分And…

华为防火墙ipsec vpn nat穿越2种场景配置案例

第一种方法&#xff0c;出口有nat设备&#xff08;这种方法最后电脑能上网&#xff0c;但不能和对端vpn通&#xff0c;配置检测没发现有问题&#xff0c;待以后再解决&#xff09;&#xff1a; 要实现分部电脑既能访问互联网又能和总部vpn连接 FW_A主要配置&#xff1a; acl …

为什么有的孩子玩着玩着就成了学霸?

毫不夸张地说&#xff0c;几乎所有的父母都想养出聪明宝宝&#xff0c;孩子上学之后能成为学霸就更省心了。 可“聪明”毕竟不能量化&#xff0c;不是说让孩子上几天课就能提升的。很多家长都在促进孩子大脑发育上使足了劲&#xff0c;可到头来却发现是在做“无用功”。 事实…