文章目录

  • 代码
    • Js版
      • list数据
      • 递归 也就是说向子节点(子孩子)写入key,子孩子的name作为key
      • 执行 由list生成级联Json
      • 效果

代码

Js版

  • 先看看效果:

list数据

const list = [{"id":"1","parentId":"0","name":"逍遥子","value": + `9101212` },{"id":"2","parentId":"1","name":"无崖子","value": + `9101212` },{"id":"3","parentId":"1","name":"天山童姥","value": + `9101212` },{"id":"4","parentId":"1","name":"李秋水","value": + `9101212` },{"id":"5","parentId":"1","name":"小师妹","value": + `9101212` },{"id":"6","parentId":"2","name":"虚竹","value": + `9101212` },{"id":"7","parentId":"2","name":"丁春秋","value": + `9101212` },{"id":"8","parentId":"3","name":"虚竹-黑化","value": + `9101212` },{"id":"9","parentId":"4","name":"梦姑","value": + `9101212` },{"id":"10","parentId":"5","name":"王夫人","value": + `9101212` },{"id":"11","parentId":"10","name":"王语嫣","value": + `9101212` },{"id":"12","parentId":"7","name":"摘星子","value": + `9101212` },{"id":"13","parentId":"7","name":"阿紫","value": + `9101212` },{"id":"14","parentId":"2","name":"苏星河","value": + `9101212` },{"id":"15","parentId":"14","name":"函谷八友","value": + `9101212` },{"id":"16","parentId":"14","name":"无名氏","value": + `9101212` },]

递归 也就是说向子节点(子孩子)写入key,子孩子的name作为key

const getJsonTree = function(data, parentId) {let itemArr = {};for (let i = 0; i < data.length; i++) {const node = data[i];const nodeName = node.nameif (node.parentId === parentId) { // 是这个节点的子孩子let child = getJsonTree(data, node.id)itemArr[nodeName] = child;// console.log(`JSON化child === `, JSON.stringify(child))if (JSON.stringify(child) === `{}`) {// console.log(`空json`, node.value, itemArr)itemArr[nodeName] = node.value}}}return itemArr}

执行 由list生成级联Json

console.log(JSON.stringify(getJsonTree(list,'0')))

效果

List(数组)转Json_js版_Java版_v1.0.0相关推荐

  1. java象棋无框架版_Java版中国象棋

    /* *中国象棋Java *作者:yanick *源文件:Chess.java *最后修改时间:2006-11-1 *添加功能:实现了当前棋局的保存 *Chess.java */ import jav ...

  2. 微信java版_JAVA版微信支付V3-完全版

    本人做的是微信V3版本的微信支付,也是目前最新的微信支付接口.官方文档下载地址 微信支付成功后  你的邮件会有以下信息: 1. 信息包括:商户ID(mch_id).申请编号.登录帐号.登录密码.商户A ...

  3. flappy bird java源码_FlappyBird注释版_java - 源码下载|Windows编程|其他小程序|源代码 - 源码中国...

    FlappyBird注释版_java\FlappyBird\.classpath FlappyBird注释版_java\FlappyBird\.project FlappyBird注释版_java\F ...

  4. 模仿Hibernate的逆向工程_java版_源码下载

    在这篇blog:"Hibernate逆向工程原理_java版本"中谈到了Hibernate逆向工程原理. 我喜欢理论和实践相结合....so,今天我试着模仿hibernate的逆向 ...

  5. java动态分区分配算法,操作系统_动态分区分配算法课程设计_java版

    <操作系统_动态分区分配算法课程设计_java版>由会员分享,可在线阅读,更多相关<操作系统_动态分区分配算法课程设计_java版(13页珍藏版)>请在人人文库网上搜索. 1. ...

  6. 点击list view中一行内容可以在combox中显示_java版飞机大战小游戏详细教程(零基础小白也可以分分钟学会!)...

    一:游戏展示 飞机大战小游戏我们都玩过,通过移动飞机来打敌机,这里给大家展示一下游戏成果:呜呜呜由于gif只能上传5M大小,所以就不能给大家展示操作了,如果大家有兴趣可以自己自己做出来再玩哟. 这里面 ...

  7. 我的世界JAVA版编程语言_Java版版本记录/开发版本

    此页面并非官方版本记录或更新日志.官方日志请见Minecraft官网. 关于1.11及此前版本,请见Mojang官网. 关于Beta 1.8及此前版本,请见Notch的博客,Word of Notch ...

  8. 实验楼Java写计算器_Java版图形界面计算器

    Java 版图形界面计算器 实验说明及介绍 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 环境介绍 本实验环境采用带桌面的 Ubuntu Linux 环境,实验 ...

  9. java 比例计算器_java版计算器

    [java]代码库import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing ...

最新文章

  1. C# MySQL数据库的备份 还原 初始化
  2. React项目实践系列一
  3. 一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)
  4. Linux 命令操作手册
  5. MY WAY程序(十八) 团队开发
  6. matplotlib在python3中的使用
  7. BOW( opencv源码)
  8. 张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用
  9. sas9.3软件java_SAS9.3 64位版Win7安装指引
  10. 计算机专业考研电路原理,2016年南开大学综合基础课(模拟电路、数字电路、计算机原理)考研试题.pdf...
  11. 数据结构:链队列的基本操作(C语言实现)
  12. 你竟然是这么神奇的 CSS
  13. 验证离散数学中的关系的相关性质(自反性,对称性,反自反性,发对称性,传递性)通过关系矩阵的方法
  14. 小米手机安全卸载内置应用
  15. 清除www.2345.com修改首页的方法
  16. 暴走欧洲之文明的迭代
  17. 计算机网络基础知识及面试总结-这应该是最全的了
  18. Kafka有多个broker的例子——重点是Replicas和lsr和Leader位置
  19. [QT][问题]关于QT语言家使用失败的原因之一
  20. 全球通讯录转换outl联系人

热门文章

  1. 企业微信和个人微信在朋友圈上有何区别?
  2. No.2 大众点评评论爬取
  3. 数据结构课程设计--农夫过河
  4. 土地调查图斑编号_“三调”图斑标注方法
  5. Bia布刷题日记 LC-1
  6. 淘宝小程序调研-部署-开发从零到1
  7. Prolific PL2303 usb 转串口Win8 Win8.1驱动
  8. QT初尝试之熄灯游戏
  9. 分布式事务、基于Best Efforts 1PC模式的事务
  10. JS 实现网页的简体繁体切换