2016-03-05 72 views
0

我試圖通過關鍵字lat從JSON文件訪問特定值,因爲我循環遍歷每條記錄。但是,我印刷它們時得到的結果是undefined

JSON

[{"pid":4317129482,"lat":"51.5078","lon":"-0.10467","coords":{"x":-0.10467,"y":51.5078},"points":{"x":-0.10467,"y":51.5078}}, 
{"pid":4356791546,"lat":"51.522","lon":"-0.101773","coords":{"x":-0.101773,"y":51.522},"points":{"x":-0.101773,"y":51.522}}, 

的JSON存儲在data

代碼試圖

$.each(data, function(key, value){ 
          if (key == "lat") { 
           console.log(value) 
          } 

OR

$.each(data, function(item){  
          console.log(item.lat) 
} 

回答

0

試試這個

$.each(data, function(key, value){ 
    console.log(value.lat); 
}); 
1

如果你已經張貼了JSON是正確的,它的對象的數組。因此,$.each(data,function(key,val){})將返回索引,並且對象即密鑰將是0,1,2並且爲該對象賦值。

要訪問

「LAT」: 「51.522」

你要做的

$.each(data,function(key,val){ 
    //val here is your object. For each object in the array you have to loop again 
    $.each(val,function(k,v){ 
     //now since val is an object looping through it will return your key-value pairs 
     if(k == 'lat'){ 
     //Do something 
     } 
    }) 
}) 
0

如果它有助於改變參數名更加的指示你在循環着什麼$.each

對於數組somethi吳象:

$.each(arr, function(index, arrayElement){ 

}) 

對於對象

$.each(obj, function(objKey, propertyValue){ 

}); 

當不確定什麼是循環使用console.log([index, arrayElement])裏面,所以你可以在瀏覽器的開發者工具控制檯檢查它