使用JavaScript遍历JSON对象树的所有节点

我想遍历一个JSON对象树,但是找不到任何库。这似乎并不困难,但它感觉像重塑的轮子。

在XML中有这么多教程,显示如何遍历一个XML树与DOM 🙁

如果你认为jQuery是这样一个原始任务的过度,你可以做这样的事情:

//your object
var o = { 
    foo:"bar",
    arr:[1,2,3],
    subo: {
        foo2:"bar2"
    }
};

//called with every property and it's value
function process(key,value) {
    console.log(key + " : "+value);
}

function traverse(o,func) {
    for (var i in o) {
        func.apply(this,[i,o[i]]);  
        if (o[i] !== null && typeof(o[i])=="object") {
            //going on step down in the object tree!!
            traverse(o[i],func);
        }
    }
}

//that's all... no magic, no bloated framework
traverse(o,process);
http://stackoverflow.com/questions/722668/traverse-all-the-nodes-of-a-json-object-tree-with-javascript

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:使用JavaScript遍历JSON对象树的所有节点