使用Jquery从Json对象获取父节点

我试图通过子进程获取json对象中的父节点我从客户端获取的json是一个多级目录层次结构,层次结构就像

Root - -Folder-1 -folder1(a) -folder1(b) -folder-2 -folder-3 -folder3(a) 

我想要的是,当我把folder3(a)的id它应该给我folder-3的id和名字

这是实际json对象的小提琴 http://jsfiddle.net/jftrg9ko/

无论如何你必须在树中搜索,所以只要记住父母,如果你找到了合适的孩子就回来。

我摆弄了一些东西: http : //jsfiddle.net/jftrg9ko/1/

 function getParent(tree, childNode) { var i, res; if (!tree || !tree.folder) { return null; } if( Object.prototype.toString.call(tree.folder) === '[object Array]' ) { for (i in tree.folder) { if (tree.folder[i].id === childNode) { return tree; } res = getParent(tree.folder[i], childNode); if (res) { return res; } } return null; } else { if (tree.folder.id === childNode) { return tree; } return getParent(tree.folder, childNode); } } 

得到所有的偶然性

 var pars,k,v,chk; pars = []; $.each(json,function(k,v){ chk = k; $.each(v,function(k,v) if(k === node){ pars.push(chk); } }) })