2011-07-15 48 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中,它会给你一个很好的日志消息,告诉你更多关于你的数据。