数组到JSON字符串数组

时间:2016-12-13 21:57:41

标签: javascript jquery json

映射对象AppData,如

heatPoints = AppData.map(function (point) {
        return [point.Latitude, point.Longitude];
});

返回

console.log(JSON.stringify(heatPoints));
  

[[49.2898,-123.1364],[49.2752,-88.150209833],[49.2286,-123.1515]]

但我需要将它们作为JSON字符串数组加载到JSON Points中,如:

var schoolPoints = {
                    "Points": [
                               {"latitude":49.2898,"longitude":-123.1364},
                               {"latitude":49.2752,"longitude":-123.0719},
                               {"latitude":49.2286,"longitude":-123.1515}
                      ]
                    };
你能告诉我怎么做吗?

2 个答案:

答案 0 :(得分:4)

更改地图以返回对象而不是数组,如下所示:

heatPoints = AppData.map(function (point) {
    return {
        "latitude": point.Latitude, 
        "longitude": point.Longitude 
    };
});

然后您可以另外将其设置为变量的属性,以获取您请求的特定JSON:

heatPoints = {"Points": heatPoints};

这将导致您请求的确切JSON。

答案 1 :(得分:2)

map用于重新格式化项目。您可以像以下一样使用它。

heatPoints = {
    "Points": AppData.map(function (point) {
        return { 
            "latitude"  : point.Latitude, 
            "longitude" : point.Longitude
        };
     })
};