[英]json response deep node traverse print key value
我正在尋找將處理json響應的javascript函數。 該函數將獲取每個節點的鍵值對。 json響應節點的深度可能是2到5,6,7深度。 我在下面嘗試了函數,但只會深入2個節點。 有沒有辦法使像下面這樣的通用函數可以處理json響應中可變深度的節點?
function process(key,value) {
Logger.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);
}
}
}
更改traverse
函數,使其僅對葉子調用回調,而不對中間節點調用回調。
function traverse(o,func) {
for (var i in o) {
if (o[i] !== null && typeof(o[i])=="object") {
//going on step down in the object tree!!
traverse(o[i],func);
} else {
func.apply(this,[i,o[i]]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.