List(数组)转Json_js版_Java版_v1.0.0
文章目录
- 代码
- 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相关推荐
- java象棋无框架版_Java版中国象棋
/* *中国象棋Java *作者:yanick *源文件:Chess.java *最后修改时间:2006-11-1 *添加功能:实现了当前棋局的保存 *Chess.java */ import jav ...
- 微信java版_JAVA版微信支付V3-完全版
本人做的是微信V3版本的微信支付,也是目前最新的微信支付接口.官方文档下载地址 微信支付成功后 你的邮件会有以下信息: 1. 信息包括:商户ID(mch_id).申请编号.登录帐号.登录密码.商户A ...
- flappy bird java源码_FlappyBird注释版_java - 源码下载|Windows编程|其他小程序|源代码 - 源码中国...
FlappyBird注释版_java\FlappyBird\.classpath FlappyBird注释版_java\FlappyBird\.project FlappyBird注释版_java\F ...
- 模仿Hibernate的逆向工程_java版_源码下载
在这篇blog:"Hibernate逆向工程原理_java版本"中谈到了Hibernate逆向工程原理. 我喜欢理论和实践相结合....so,今天我试着模仿hibernate的逆向 ...
- java动态分区分配算法,操作系统_动态分区分配算法课程设计_java版
<操作系统_动态分区分配算法课程设计_java版>由会员分享,可在线阅读,更多相关<操作系统_动态分区分配算法课程设计_java版(13页珍藏版)>请在人人文库网上搜索. 1. ...
- 点击list view中一行内容可以在combox中显示_java版飞机大战小游戏详细教程(零基础小白也可以分分钟学会!)...
一:游戏展示 飞机大战小游戏我们都玩过,通过移动飞机来打敌机,这里给大家展示一下游戏成果:呜呜呜由于gif只能上传5M大小,所以就不能给大家展示操作了,如果大家有兴趣可以自己自己做出来再玩哟. 这里面 ...
- 我的世界JAVA版编程语言_Java版版本记录/开发版本
此页面并非官方版本记录或更新日志.官方日志请见Minecraft官网. 关于1.11及此前版本,请见Mojang官网. 关于Beta 1.8及此前版本,请见Notch的博客,Word of Notch ...
- 实验楼Java写计算器_Java版图形界面计算器
Java 版图形界面计算器 实验说明及介绍 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 环境介绍 本实验环境采用带桌面的 Ubuntu Linux 环境,实验 ...
- java 比例计算器_java版计算器
[java]代码库import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing ...
最新文章
- C# MySQL数据库的备份 还原 初始化
- React项目实践系列一
- 一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)
- Linux 命令操作手册
- MY WAY程序(十八) 团队开发
- matplotlib在python3中的使用
- BOW( opencv源码)
- 张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用
- sas9.3软件java_SAS9.3 64位版Win7安装指引
- 计算机专业考研电路原理,2016年南开大学综合基础课(模拟电路、数字电路、计算机原理)考研试题.pdf...
- 数据结构:链队列的基本操作(C语言实现)
- 你竟然是这么神奇的 CSS
- 验证离散数学中的关系的相关性质(自反性,对称性,反自反性,发对称性,传递性)通过关系矩阵的方法
- 小米手机安全卸载内置应用
- 清除www.2345.com修改首页的方法
- 暴走欧洲之文明的迭代
- 计算机网络基础知识及面试总结-这应该是最全的了
- Kafka有多个broker的例子——重点是Replicas和lsr和Leader位置
- [QT][问题]关于QT语言家使用失败的原因之一
- 全球通讯录转换outl联系人