流星解析JSON地理日期

时间:2016-09-07 02:35:12

标签: json mongodb meteor

目前正致力于使用Leaflet和Data Science Toolkit(DSTK)在Meteor中绘制地址以进行地理编码的项目。发送带有三个地址的curl POST请求我得到以下数据:

     {    "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]
}

};

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

让我们说a是您从POST获得的对象。它有3个顶级键。 You can iterate over these for (var property in a){}string - 每个顶级键都将作为a[property]返回。然后,您可以使用该字符串使用括号表示法let geojsonFeature = {}; for (var property in a){ if ( a.hasOwnProperty(property) ){ geojsonFeature = { "type": "Feature", "properties": { "name": property, "popupContent": property }, "geometry": { "type": "Point", "coordinates": [ a[property].longitude a[property].latitude ] } }; myGeoJsonFeatures.insert(geojsonFeature); // save geojsonFeature to your collection } } 索引到整个对象,如下所示:

eval
相关问题