我想迭代一個json對象(在javascript中),但它似乎並沒有正常工作......對於我來說寫一個遞歸函數非常困惑,所以也許其中一位專家在這裏可以幫助我:)JS循環通過一個json對象
JSON對象:
{
"Node": [
{
"Name": {
"#text": "Folder"
}
},
{
"Name": {
"#text": "Folder 2"
}
},
{
"Name": {
"#text": "Folder 3"
},
"Nodes": {
"Node": {
"Name": {
"#text": "Folder 3.1"
},
"Nodes": {
"Node": [
{
"Name": {
"#text": "Folder 3.1.1"
},
"Nodes": {
"Node": {
"Name": {
"#text": "Folder 3.1.1.1"
}
}
}
},
{
"Name": {
"#text": "Test 2"
}
}
]
}
}
}
},
{
"Name": {
"#text": "Folder 4"
}
}
]
}
我嘗試解決問題
function newFolder(_data) {
for (var i = 0; i < _data.length; i++) {
if (_data[i].Nodes) {
Ti.API.info("Sub: "); //+ _data[i].Nodes.Node.length);
return newFolder(_data[i].Nodes.Node);
} else {
Ti.API.info("Main: " + _data[i].Name["#text"]);
}
Ti.API.info("Main: " + _data[i].Name["#text"]);
}
}
的問題是,該功能不會通過每一個元素運行,像我想要t O操作。
我已經閱讀了一些有關jQuery的內容,但是我不太熟悉這一點。再加上我使用鈦和我不知道我是否可以使用jQuery。
這將是洙真棒,如果有人能幫助我擺脫這種:)
爲什麼你註釋掉了你的代碼? –
其評論爲一。我會認爲這是一個錯字。一旦使用'JSON.parse'解析JSON,就可以遍歷它。現在,取決於它是什麼,你將如何循環。如果你的JSON是一個對象數組,那麼你可以使用傳統的for循環遍歷它。但是,如果它是一個對象,並且您試圖迭代對象的屬性,則必須將'for ... in'循環與'obj.hasOwnProperty'檢查結合使用。 –
有[沒有這樣的事情作爲JSON對象](http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/)。 – nnnnnn