2016-09-07 65 views
0

目前正在使用Leaflet和數據科學工具包(DSTK)進行地理編碼的項目中繪製Meteor地址。發送帶有三個地址捲曲POST請求我得到以下數據恢復:流星解析JSON地理日期

 { "901 North Jackson Street, Junction City KS 66441": { 
      "country_code3": "USA", 
      "latitude": 39.031397, 
      "country_name": "United States", 
      "longitude": -96.837184, 
      "street_address": "901 N Jackson St", 
      "region": "KS", 
      "confidence": 1.0, 
      "street_number": "901", 
      "locality": "Junction City", 
      "street_name": "N Jackson St", 
      "fips_county": "20061", 
      "country_code": "US" },  
"300 South Parkside Drive, Colorado Springs CO 80901": { 
      "country_code3": "USA", 
      "latitude": 38.828775, 
      "country_name": "United States", 
      "longitude": -104.79034, 
      "street_address": "300 S Parkside Dr", 
      "region": "CO", 
      "confidence": 0.805, 
      "street_number": "300", 
      "locality": "Colorado Springs", 
      "street_name": "S Parkside Dr", 
      "fips_county": "08041", 
      "country_code": "US" },  
"1412 Kensington Avenue, Kansas City MO 64127": { 
      "country_code3": "USA", 
      "latitude": 39.095286, 
      "country_name": "United States", 
      "longitude": -94.530828, 
      "street_address": "1412 Kensington Ave", 
      "region": "MO", 
      "confidence": 1.0, 
      "street_number": "1412", 
      "locality": "Kansas City", 
      "street_name": "Kensington Ave", 
      "fips_county": "29095", 
      "country_code": "US" } } 

我試圖做的是循環遍歷這些結果,並插入到GeoJSON格式導出MongoDB中。使用上面的最後一個地址,它看起來像下面這樣:

var geojsonFeature = { 
"type": "Feature", 
"properties": { 
    "name": "1412 Kensington Avenue, Kansas City MO 64127", 
    "popupContent": "1412 Kensington Avenue, Kansas City MO 64127" 
}, 
"geometry": { 
    "type": "Point", 
    "coordinates": [-94.530828, 39.095286] 
} 

};

任何建議,非常感謝。

回答

0

比方說,a是您從POST獲得的對象。它有3個頂級鍵。 You can iterate over thesefor (var property in a){} - 每個頂級密鑰將作爲string返回。然後,您可以使用該字符串來索引整個對象與支架符號a[property]如下:

​​
+0

米歇爾 - 謝謝你這麼多,非常完美!解釋和鏈接也對理解非常有幫助。 – Godfried

+0

很高興爲你效勞! –

+0

所以現在我碰到了另一個與上面相關的問題。如果我發送帶有三個地址的curl請求來進行地理編碼並輸出返回到控制檯的json數據,我會看到所有三個。但是,如果我對mongodb執行插入操作,它只會顯示返回的第一個地址解析地址。因此,如果我使用 'myGeoJsonFeatures.insert(geojsonFeature)' ,那麼在上述解決方案中,只有第一個地址編碼地址被插入到mongo中。如果我用 'console.log(geojsonFeature)' 顯示所有三個地理編碼地址。 – Godfried