2014-06-17 40 views
-2

我需要使用jQuery parseJSON解析JSON數據如下 JSON數據:Jquery的Json的解析

{ 
    "0": { 
     "0": "Item 1", 
     "1": "", 
     "2": "", 
     "3": "", 
     "4": "", 
     "5": "", 
     "childs": {} 
    }, 
    "1": { 
     "0": "Item 2", 
     "1": "", 
     "2": "", 
     "3": "", 
     "4": "", 
     "5": "", 
     "childs": { 
      "0": { 
       "0": "Item 2 - Sub 1", 
       "1": "", 
       "2": "", 
       "3": "", 
       "4": "", 
       "5": "" 
      }, 
      "1": { 
       "0": "Item 2 - Sub 2", 
       "1": "", 
       "2": "", 
       "3": "", 
       "4": "", 
       "5": "" 
      } 
     } 
    } 
} 

我不熟悉JSON數據結構的,我沒有發現任何方式讀取值當用數字鍵索引時,我不知道如何讀取孩子的子值。

+2

你想獲得哪個價值? –

+0

所有項目和子項目值 – Almoujtahed

回答

2

使用parseJSON方法來分析字符串爲對象:

var o = $.parseJSON(s); 

然後,可以使用所述托架語法數值名稱訪問屬性。例如,獲取命名"1"的項目,那麼childs屬性從,那麼孩子命名"0"和它的屬性命名"0"

var item = o["1"].childs["0"]["0"]; 

有了您的數據。例如,變量item現在包含"Item 2 - Sub 1"

演示:http://jsfiddle.net/s4HLs/


要遍歷所有的項目,你可以使用each方法。舉例:通過子項目你要嵌套循環

Item 1 
Item 2 

要循環:

$.each(o, function(i, v){ 
    console.log(v["0"]); 
}); 

這會寫這個控制檯。例如:

$.each(o, function(i, v){ 
    console.log(v["0"]); 
    $.each(v.childs, function(j, c){ 
     console.log(c["0"]); 
    }); 
}); 

這會寫這個控制檯:

Item 1 
Item 2 
Item 2 - Sub 1 
Item 2 - Sub 2 

注意,有對第一項無子,作爲對象爲空。

+0

正是......謝謝!!! – Almoujtahed