2012-08-28 60 views
0

的JSON數據:訪問與點語法

{ 
    "count": 1, 
    "rows": [ 
     { 
      "user_id": "7", 
      "lat": "48.452583", 
      "lng": "-123.545052", 
      "distance": "0.4852177729308128" 
     } 
    ] 
}​ 

它進場時我function(data),我試圖訪問count,然後user_id ..

downloadUrl(searchUrl, function(data) { 
    alert("Locations Found: " + data[0].count); 
}); 

data.countdata[0].count。 ..不工作。關於如何訪問它們,我正在畫一個空白。

+0

'data.count'是正確的。你確定你收到它作爲JSON嗎? (提示:你需要'dataType:「json」'。) – Ryan

+0

你解析JSON嗎?如果您使用AJAX,請將dataType設置爲json或使用$ .parseJSON –

+0

我已添加上面使用的函數。 – dcolumbus

回答

3

如果您data是字符串(不是數據類型:JSON),那麼你需要如下

var obj=$.parseJSON(data); 

解析它然後使用

obj.count; 
obj.rows[0].user_id; 
+2

如果您不使用Jquery,您可以使用'JSON.parse()' – Ankur

+2

是的,但在問題中使用了'jQuery'標記,所以我回答爲jQuery。 –

+0

@AnkurMittal,JSON.parse()不支持跨瀏覽器 – Jashwant

0

試試這個

data = {"count":1,"rows":[{"user_id":"7","lat":"48.452583","lng":"-123.545052","distance":"0.4852177729308128"}]} 
data.count 
data.rows[0].user_id 
0

是真正的數據對象或只是一個字符串。您可以通過執行console.log(typeof data)或者alert(typeof data)來調試大多數瀏覽器的控制檯的類型。

+0

這是一個字符串......這顯然是我的問題。 – dcolumbus