javascript解析树 [英] javascript parse tree
问题描述
我正在用jquery编写一个插件来成为文件管理器 我在php中建立文件夹结构,我使用ajax调用了该php文件,并且返回了类似的内容
i'm writing a plugin in jquery to be a file manager i build my folder structure in php i call that php file using ajax and i return something like this
{"1":[],"css":{"admin":[],"tabs":{"skin1":{"images":[]},"skin10":{"images":[]},"skin11":{"images":[]},"skin12":{"images":[]},"skin2":[],"skin3":{"images":[]},"skin4":{"images":[]},"skin5":{"images":[]},"skin6":{"images":[]},"skin7":{"images":[]},"skin8":{"images":[]},"skin9":{"images":[]}}},"img":{"admin":[],"filemanager":[],"icons":[]},"js":{"libs":[]},"menu":{"img":[]},"walpappere":{"1":[]}}
我如何使用jquery或javascript解析信息以执行类似的操作
how can i parse the info using jquery or javascript to do something like this
var mystring = ''
foreach key (would be 1,css etc)
mystring += key
if has children
mystring += key
for each children same as above until all structure is parsed
推荐答案
创建一个执行以下操作的函数: http://jsfiddle.net/k5BTr/.
Create a function which does that: http://jsfiddle.net/k5BTr/.
var obj = {"1":[],"css":{"admin":[],"tabs":{"skin1":{"images":[]},"skin10":{"images":[]},"skin11":{"images":[]},"skin12":{"images":[]},"skin2":[],"skin3":{"images":[]},"skin4":{"images":[]},"skin5":{"images":[]},"skin6":{"images":[]},"skin7":{"images":[]},"skin8":{"images":[]},"skin9":{"images":[]}}},"img":{"admin":[],"filemanager":[],"icons":[]},"js":{"libs":[]},"menu":{"img":[]},"walpappere":{"1":[]}};
function list(items, level) {
for (var key in items) { // iterate
if (items.hasOwnProperty(key)) {
// write amount of spaces according to level
// and write name and newline
document.write(
(new Array(level + 1)).join(" ") +
key +
"<br>"
);
// if object, call recursively
if (items[key] != null && typeof items[key] === "object") {
list(items[key], level + 1);
}
}
}
}
list(obj, 0);
这篇关于javascript解析树的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!