2013-12-12 46 views
0

假設我有一個像下面這樣的JSON中的所有JSON實例:獲取一個JSON代碼(JavaScript)

{ 
    "filestore": { 
    "root": { 
     "abc": { 
     "def": { 
      "wavs": { 
      "wav": [ 
       { 
       "id": "1", 
       "file": "\\abc\\def\\a.wav", 
       "checked": "false" 
       }, 
       { 
       "id": "2", 
       "file": "\\abc\\def\\b.wav", 
       "checked": "false" 
       }, 
       { 
       "id": "3", 
       "file": "\\abc\\def\\c.wav", 
       "checked": "false" 
       } 
      ] 
      } 
     }, 
     "ghi": { 
      "wavs": { 
      "wav": [ 
       { 
       "id": "1", 
       "file": "\\abc\\ghi\\a.wav", 
       "checked": "false" 
       }, 
       { 
       "id": "2", 
       "file": "\\abc\\ghi\\b.wav", 
       "checked": "false" 
       }, 
       { 
       "id": "3", 
       "file": "\\abc\\ghi\\c.wav", 
       "checked": "false" 
       } 
      ] 
      } 
     }, 
     "wavs": { 
      "wav": [ 
      { 
       "id": "4", 
       "file": "\\abc\\x.wav", 
       "checked": "false" 
      }, 
      { 
       "id": "5", 
       "file": "\\abc\\y.wav", 
       "checked": "false" 
      }, 
      { 
       "id": "6", 
       "file": "\\abc\\z.wav", 
       "checked": "false" 
      } 
      ] 
     } 
     }, 
     "wavs": { 
     "wav": [ 
      { 
      "id": "7", 
      "file": "p.wav", 
      "checked": "false" 
      }, 
      { 
      "id": "8", 
      "file": "q.wav", 
      "checked": "false" 
      }, 
      { 
      "id": "9", 
      "file": "r.wav", 
      "checked": "false" 
      } 
     ] 
     } 
    } 
    } 
} 

現在,我想中的「根」的所有實體。我知道我們可以使用JSON.parse在Javascript中創建一個JSON對象,並單獨訪問它們,比如filestore.root.abc等。

但是,我需要一個可以提取特定標記內所有標記的實用程序。就像,如果我發送該實用程序「filestore.root」,它應該返回一個數組[「abc」,「wavs」]。同樣,如果我發送「filestore.root.abc」,它應該返回[「def」,「ghi」,「wavs」]。

是這樣的可能在JavaScript?請告訴我。我會非常喜歡JavaScript,但我也向jquery開放。非常感謝。

回答

0

如果你喜歡DIY我使用這個

var result = []; 
for (var key in filestore.root) result.push(key);  
alert(JSON.stringify(result));