2011-07-15 125 views
2

如果我通過一個Web服務提供的以下數據:訪問JSON數據

{ 
    "d": [ 
     { 
      "col1": "col 1 data 1", 
      "col2": "col 2 data 1" 
     }, 
     { 
      "col1": "col 1 data 2", 
      "col2": "col 1 data 2" 
     } 
    ] 
} 

怎樣訪問第二COL1?

如下面的:

success: function(data) { 
     alert(data.d) ; 
}, 

給我:

[object Object],[object Object] 

回答

9

及其與含有col1col2,所以像2個元素的數組:

alert(data.d[1].col1); 

0是第一個元素,然後你選擇「col1」)

2

試試這個:

var json = { 
    "d": [ 
     { 
      "col1": "col 1 data 1", 
      "col2": "col 2 data 1" 
     }, 
     { 
      "col1": "col 1 data 2", 
      "col2": "col 1 data 2" 
     } 
    ] 
}; 

alert(json.d[1].col1); 

指定的d數組索引(從0開始,所以這將是1),然後您可以訪問子項。這是working example on jsFiddle

3
success:function(data){ 
data = JSON.parse(data); // you will have to parse the data first 
alert(data.d[0].col1); 
+4

當使用jQuery'$ .ajax()'函數並將'dataType'指定爲JSON時,它會自動解析它。 –

+0

是的,但以防萬一它沒有設置... OP沒有提及它所以... – Rafay

+0

公平點,我只是假設它已經是JSON,因爲他可以訪問對象的第一級:-) –

3
alert(data.d[1].col1) ; 

在人類:

  1. 開始在數據變量
  2. 去d財產。
  3. d是一個數組,因此查找索引1處的值(第二個值)
  4. 查找該值的col1屬性。

我可以推薦console.log嗎?在Chrome和Firefox/Firebug中,它會給你一個很好的日誌消息,告訴你更多關於你的數據。