I am trying to get parent node in json object by child it The json i am getting from client is a multilevel directory hierarchy the hierarchy is like
Root
To get all ocuurences
var pars,k,v,chk;
pars = [];
$.each(json,function(k,v){
chk = k;
$.each(v,function(k,v)
if(k === node){
pars.push(chk);
}
})
})
You have to search through the tree anyway so just remember the parent and return that if you found the right child.
I fiddled something: 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);
}
}