Json结果 - 如何删除引号

时间:2017-05-26 04:22:27

标签: javascript json

这是我的代码

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

任何解决方案。?

2 个答案:

答案 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));

尝试运行此代码,它应该可以正常工作。

注意:

  1. abc应该是Object而不是Array
  2. 在将值分配给JSON.stringify时,请勿key
  3. JSON.stringify
  4. 中更新了所有键值后,执行Object