我知道这听起来很奇怪,但原因是让我的JSON与Faux-3D Shaded Globe一起工作
我正在调用Instagrams端点API,我得到以下数据放入JSON:
姓名,经度,纬度
我的问题是:如何在原始JSON对象中创建另一个JSON对象,该对象将保存具有经度和纬度的数组?
这是我想要的理想回报JSON
Features: Array[size]
Object:
properties:Object:
geometry: Object:
coordinates: array[2]
这是我的尝试
complete: function(data){
var geoArray = data.map(function(item){
tempJSON = {};
geometry = new Object();
var coordinates = []
if(item.location === null){
console.log("null check");
}
else{
tempJSON.name = item.location.name;
geometry = coordinates.push(item.location.latitude,item.location.longitude);
tempJSON.geometry = geometry;
// tempJSON.geometry[1] = item.location.longitude;
}
return tempJSON;
});
return res.json({features: geoArray});
}
});
现在我将它作为geomtry返回几何:2当我检查chrome控制台
时答案 0 :(得分:2)
您正在创建(并丢弃)名为geometry
的对象,并将其替换为数组(或尝试 - push()
返回项目的计数在数组中,而不是数组本身),然后将其分配给tempJSON
的成员。跳过中间变量:
var geoArray = data.map(function(item){
tempJSON = {};
if (item.location === null){
console.log("null check");
}
else {
tempJSON.name = item.location.name;
tempJSON.geometry = {
coordinates: [item.location.latitude, item.location.longitude]
};
}
return tempJSON;
});