- 转载 :http://rockyuse.iteye.com/blog/1541308
- /**
- * json格式转树状结构
- * @param {json} json数据
- * @param {String} id的字符串
- * @param {String} 父id的字符串
- * @param {String} children的字符串
- * @return {Array} 数组
- */
- function transData(a, idStr, pidStr, chindrenStr){
- var r = [], hash = {}, id = idStr, pid = pidStr, children = chindrenStr, i = 0, j = 0, len = a.length;
- for(; i < len; i++){
- hash[a[i][id]] = a[i];
- }
- for(; j < len; j++){
- var aVal = a[j], hashVP = hash[aVal[pid]];
- if(hashVP){
- !hashVP[children] && (hashVP[children] = []);
- hashVP[children].push(aVal);
- }else{
- r.push(aVal);
- }
- }
- return r;
- }
- var jsonData = eval('[{"id":"4","pid":"1","name":" 大家电"},{"id":"5","pid":"1","name":"生活电器"},{"id":"1","pid":"0","name":"家用电 器"},{"id":"2","pid":"0","name":"服饰"},{"id":"3","pid":"0","name":"化妆"}, {"id":"7","pid":"4","name":"空调"},{"id":"8","pid":"4","name":"冰箱"}, {"id":"9","pid":"4","name":"洗衣机"},{"id":"10","pid":"4","name":"热水器"}, {"id":"11","pid":"3","name":"面部护理"},{"id":"12","pid":"3","name":"口腔护理"}, {"id":"13","pid":"2","name":"男装"},{"id":"14","pid":"2","name":"女装"}, {"id":"15","pid":"7","name":"海尔空调"},{"id":"16","pid":"7","name":"美的空调"}, {"id":"19","pid":"5","name":"加湿器"},{"id":"20","pid":"5","name":"电熨斗"}]');
- var jsonDataTree = transData(jsonData, 'id', 'pid', 'chindren');
- console.log(jsonDataTree);
- //[{"id":"1","pid":"0","name":" 家用电器","chindren":[{"id":"4","pid":"1","name":"大家电","chindren": [{"id":"7","pid":"4","name":"空调","chindren": [{"id":"15","pid":"7","name":"海尔空调"},{"id":"16","pid":"7","name":"美的空 调"}]},{"id":"8","pid":"4","name":"冰箱"},{"id":"9","pid":"4","name":"洗衣 机"},{"id":"10","pid":"4","name":"热水器"}]},{"id":"5","pid":"1","name":"生活电 器","chindren":[{"id":"19","pid":"5","name":"加湿器"}, {"id":"20","pid":"5","name":"电熨斗"}]}]},{"id":"2","pid":"0","name":"服 饰","chindren":[{"id":"13","pid":"2","name":"男装"}, {"id":"14","pid":"2","name":"女装"}]},{"id":"3","pid":"0","name":"化 妆","chindren":[{"id":"11","pid":"3","name":"面部护理"}, {"id":"12","pid":"3","name":"口腔护理"}]}]
- 浏览: 117911 次
- 性别:
- 来自: 济南
文章分类
最新评论
发表评论
-
js 中的作用域
2017-08-02 11:06 407你是否被js 中的作用 ... -
console.dir()
2017-04-20 16:54 353console.dir()可以显示一个对象所有的属性和方法。 ... -
Javascript的console.log()用法
2017-04-20 16:53 467转载:http://www.ok12.net/js/abou ... -
原型和原型链
2017-03-24 14:44 415JavaScript 中,万物皆对 ... -
原型和原型链
2017-03-24 14:32 458http://www.jb51.net/article/8 ... -
Function 和Object 的关系<三>
2017-03-24 11:29 287http://www.cnblogs.com/tarol/ ... -
js中的this关键字
2017-03-22 15:06 345http://www.jb51.net/article/4 ... -
Function 和Object 的关系<二>
2017-02-11 15:49 383转载:http://blog.csdn.net/jackw ... -
Function 和Object 的关系<一>
2017-02-11 15:43 472转载:http://www.jb51.net/article ... -
jquery on
2016-12-21 15:22 473转载:http://www.365mini.com/pag ... -
jquery bind 和on 的区别
2016-12-20 16:38 525jquery的bind和on绑定事件的区别 bind和 ... -
js 闭包
2016-11-26 13:29 383http://www.108js.com/article/a ... -
Window.open()详解及浏览器兼容性问题
2016-11-22 20:45 456http://newplayer.blog.163.com/ ... -
js 中 instanceof number
2016-11-21 11:59 470http://www.cnblogs.com/xiaoruo ... -
js 改变样式
2016-11-21 11:28 497直接改变样式、改变className和改变cssText ... -
js 全局变量
2016-11-20 22:19 196JavaScript声明全局变量三种方式的异同 Java ... -
null 和undifined
2016-11-20 19:59 460http://www.ruanyifeng.com/blog ... -
js null and undifined
2016-11-20 20:15 338http://m.studyofnet.com/news/ ... -
理解js中的new
2015-01-31 13:56 335http://blog.csdn.net/motia ... -
nodejs 全局变量
2015-01-18 10:56 569转载: http://www.sjsjw.com/k ...
相关推荐
对于更复杂的JSON结构,可以使用`JObject`,`JArray`等JToken类构建或解析JSON树。 `JsonViewer.exe`可能是一个用于查看和操作JSON数据的工具,它可以将JSON数据以树形结构展示,便于开发者直观地理解JSON结构。这...
在Java开发中,将目录结构转换为JSON格式是一种常见的需求,特别是在构建文件管理系统、Web应用或者需要在前端展示树形目录结构时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...
Java 递归算法构造 JSON 树形结构 Java 递归算法构造 JSON 树形结构是指通过 Java 语言使用递归算法将数据库中的菜单表构建成树形的 JSON 格式发送给第三方。这种方法可以将复杂的树形结构数据转换成易于理解和处理...
本文将详细讲解如何从JSON格式的数据读取并转换为DevExpress TreeList的树形结构,以实现数据的高效展示。我们将使用C#编程语言来实现这一过程。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换...
这个“ajax获取嵌套JSON,树形控件显示”的示例主要涉及如何通过Ajax获取嵌套的JSON数据,并将其适配到ZTree的格式,以便在页面上以树形结构展示。 首先,我们需要理解JSON(JavaScript Object Notation)是一种轻...
例如,一个简单的树形JSON结构可能如下所示: ```json { "name": "根节点", "children": [ { "name": "子节点1", "children": [ {"name": "孙子节点1"}, {"name": "孙子节点2"} ] }, { "name": "子节点2...
本项目主要涉及的是将“树形结构文件”转换为JSON格式,这对于处理层次化数据尤其有用。下面我们将详细探讨树形结构、JSON格式以及如何进行这种转换。 首先,让我们理解什么是树形结构。在计算机科学中,树形结构是...
在IT领域,尤其是在前端开发中,经常需要处理JSON(JavaScript Object Notation)数据,并将其以树形结构展示出来,这通常用于构建导航菜单、组织层级数据等。"遍历json显示树形菜单"是一个常见的需求,涉及到的主要...
本文提出了一种基于树形结构的Sql结果集向Json数据的转换算法,旨在解决关系型数据库中树结构数据与Web应用中Json数据格式不一致的问题。该算法将Sql结果集转换为Json数据,以满足Web应用中树控件的需求。 一、树形...
"flex json转无限树形加单选框并获得选中子项 自动展开"这一主题涉及到多个技术点,包括JSON数据处理、无限层级树形结构的构建、单选框(checkbox)的实现以及节点的自动展开功能。下面将详细讲解这些知识点。 1. ...
有时候,我们需要将后台传回的JOSN格式展示给用户看,这时需要将json格式的数据转为树结构所需要的数据结构,如图var data={ "code": 0, "msg": "操作成功", "data": { "access_token": "6b858817-...
综上所述,实现“flex JSON转无限树形加单选框并获得选中子项”涉及到对Flex组件的深入理解和JSON数据的处理。这需要开发者具备良好的数据结构理解能力,以及对事件处理和组件交互的掌握。完成这样的功能不仅提升了...
在IT领域,尤其是在前端开发中,"JS+css+Json的树形结构"是一个常见的应用场景。这个主题涉及到了JavaScript、CSS以及JSON数据格式,这些都是构建交互式网页的重要元素。下面将详细阐述这些知识点。 首先,...
例如,从扁平化的数据转换成树形结构的JSON,以及将树形JSON再扁平化,这两个过程在数据处理、数据库操作和前端展示等方面都有广泛的应用。 标题和描述提及的"把扁平化的数据转换成树形结构的JSON,把树形JSON扁平...
2. **JSONView的使用**:安装JSONView扩展后,当浏览器加载到JSON格式的网页时,它会自动格式化JSON数据,以树形结构显示,用户可以方便地展开和折叠节点查看内容。 3. **数据转换**:JSONView可能支持将JSON数据...
"JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现" JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现是指将JSON复杂数据处理后的数据转换为Java对象,并将其存储到数据库中。...
首先,XML是一种结构化的数据表示方式,它以树形结构存储数据,易于人类阅读和编写,同时也易于机器解析和生成。JSON则是一种轻量级的数据交换格式,它基于JavaScript语法,但独立于语言,提供了更简洁的数据表示...
Unity 将Excel 数据转换为Json 数据使用,可以支持列表嵌套。
在JavaScript中,解析JSON并生成树形结构是一种常见的需求,特别是在构建前端应用或者处理层级数据时。本示例中提到的“js 解析 json 生成树”是一个将JSON数据转换为可交互的树形结构的过程。这个过程通常涉及到...