2015-02-24 104 views
1

這是我的JSON結構:功能參數變成對象的名稱,而不是它的參考

var json = { 
procedure: { 
    id: "content", 
    child: { 

     154: { 
     class: "sequence nest", 
     text: "LED Ausgeben", 
     id: 154 
     } 
    } 
}  
}; 

對於for (var prop in scope.child){}某種原因,道具只是一個字符串,而不是對象scope.child.154,你可以看到下面在Watch Expressions。

Debugger

有什麼想法爲什麼?我試着用「154」指定JSON對象,但沒關係。他們的名字必須包含字符嗎?

這裏是小提琴:JSFiddle但你必須使用瀏覽器控制檯。檢查它,按下文件夾圖標。

乾杯!

+1

這是因爲您* *傳遞屬性名稱,而不是價值。 – Bergi 2015-02-24 17:08:47

回答

1

我稍微改變了for循環。你應該可以通過這種方式訪問​​這個對象。

for (var key in scope.child) { 
    var obj = scope.child[key]; 
    ... 
} 

Fiddle

還檢查了Stackover post where I got the idea from

+1

真棒,我改變了你的小提琴一點點,因爲我不必遍歷所有的屬性,並可以傳遞$()函數中的整個對象。 這是工作的小提琴,如果你intrested:http://jsfiddle.net/philx_x/cgojh6t1/ – 2015-02-25 12:30:11