这是我的代码
Swipe data = Array[2] :
0:object
id : "1" latitude : "76.23" longitude:"21.92"
1:object
id:"2" latitude:"10.23" longitude:"12.92"
var abc=[];
for(_i = 0; _i < swipe_data.length; _i++)
{
var tmp = swipe_data[_i];
var t1 = [swipe_data[_i]['latitude'], swipe_data[_i]['longitude']];
abc[tmp.id] = JSON.stringify(t1);
}
console.log(abc);
abc的输出是 -
[1: "["76.2350","21.9253"]", 3: "["10.5650","21.3653"]", 6: "["60.5650","55.3653"]"]
这是json字符串
但我需要这样的输出 - {“1”:[76.235,21.9253],“3”: [10.565,21.3653],“6”:[60.565,55.3653]}
任何解决方案。?
答案 0 :(得分:0)
明显的解决方案就是:
var abc=[];
for(_i = 0; _i < swipe_data.length; _i++)
{
var tmp = swipe_data[_i];
var t1 = [swipe_data[_i]['latitude'], swipe_data[_i]['longitude']];
abc[tmp.id] = JSON.stringify(t1);
abc[tmp.id] = abc[tmp.id].replace('"','');
}
console.log(abc);
所有这一切都是用字符串替换任何引号中的任何引号,有效地删除它们。
答案 1 :(得分:0)
使用parseFloat
,
var abc = new Object();
for(_i = 0; _i < swipe_data.length; _i++){
var t1 = [parseFloat(swipe_data[_i]['latitude']), parseFloat(swipe_data[_i]['longitude'])];
abc[tmp.id] = t1
}
console.log(JSON.stringify(abc));
尝试运行此代码,它应该可以正常工作。
注意:
abc
应该是Object
而不是Array
。JSON.stringify
时,请勿key
。JSON.stringify
。Object
醇>