2016-02-12 71 views
0

可能是一個簡單的一個專家:傳遞JSON數據到JavaScript變量

我有一個名爲newport.json位於www文件夾一個JSON文件。將JSON如下:

{"nmech":"3.00","nelect":"3.00","nplant":"0.00","ncivil":"55.00"} 

我有我的JS通過Ajax加載在:

$.ajax({ 
    url:'newport.json', 
    datatype:'json', 
    type:'get', 
    cache:false, 
    success:function(data){ 
     $(data).each(function(index,value){ 
       console.log(value); 

     }); 
    } 
}); 

我的問題是控制檯日誌產生從上面的js以下幾點:

Object {nmech: "3.00", nelect: "3.00", nplant: "0.00", ncivil: "55.00"} 

,但我似乎努力,然後得到一個值,說nmech傳入一個JavaScript變量。

在此先感謝您的幫助。

+1

你的問題是什麼? 'data'應該有你的'Object'' console.log(data.nmech);'應該產生'3.00' ... – brso05

+1

所以爲了得到那個特定的值,它將是'data.nmech' *沒有*每個循環。你有這些倍數還是僅僅是這個? – Derek

+1

是的,我可以使用data.nmech並輸出到控制檯,它顯示3.00。我的問題是如何將這個值傳遞給一個變量。 –

回答

1

您的json是對象而不是數組。只要你沒有任何東西可以列舉,$。每個doen在這裏都很有意義。

要訪問你的屬性,你需要:

var nmech = data.nmech; 
var nelect = data.nelect; 

+0

http://api.jquery.com/jquery.each/它將與'object' ...鍵/值對一起使用。 – brso05

+1

@ brso05你是完全正確的。主要的一點是,在這種情況下沒有多大意義。我會更新答案。 – berliner

+0

它確實有意義,如果他循環通過他的價值觀,如在他的問題... – brso05

0

由於沒有返回的單個對象,循環只運行一次。我相信你所要做的就是枚舉這個單一對象的屬性。所以這個:

for (var propertyName in data) { console.log(data[propertyName]; }