2013-07-04 99 views
0

我試圖從嵌套JSON文件看起來像這樣提取值:提取鍵值跨越嵌套JSON

var mymenu = {"menu": [{"page": {"url": "http://foo.bar.com","random stuff": {"junk": "rubbish"}}},{"page": {"feed": "http://foo.bar.com"}},{"menu": [{"submenu": [{"page": {"feed": "http://foo.bar.com"}}]}]}]}; 

我想提取的關鍵是與包含URL的飼料。我已經嘗試了一個for ... in循環到檢索的JSON中,但是我只能拉到Feed所在的對象,導致整個字符串化對象。有沒有辦法從JSON文件中獲取我需要的鍵?

+0

var是一個有效的變量名嗎? – Thilo

+0

修復了這個變量。 @felix - 我根本找不到那個線程,看起來可能是我需要的幫助 –

回答

0

我剛剛在JSONLint上驗證了你的json,它似乎無效。

Parse error on line 7: 
...     }   }  
----------------------^ 
Expecting 'STRING' 

試試這個JSON,並記住一個name分配給您的變量。

var mymenu = {"menu": [{"page": {"url": "http://foo.bar.com","random stuff": {"junk": "rubbish"}}},{"page": {"feed": "http://foo.bar.com"}},{"menu": [{"submenu": [{"page": {"feed": "http://foo.bar.com"}}]}]}]}; 

下一頁通過JSON迭代是不是太糟糕,只是把它當做一個multi dimensional陣列key value對。例如,如果您運行的是Firefox,獲得firebug是個好主意。

for(var i = 0; i < mymenu['menu'].length; i) 
{ 
    console.log(mymenu['menu'][i]); 
} 
+0

我在粘貼的JSON上的壞處是試圖重做一個示例來顯示。 –