我有这个字符串:
var filePos = "{'Data':'17/02/2015', 'Descrizione':'PROVA AAA', 'Lat':'45.411258', 'Lng':'11.906326', 'Foto':'sdjahvas'}" +
"{'Data':'18/02/2015', 'Descrizione':'PROVA BAA', 'Lat':'45.411190', 'Lng':'11.906324', 'Foto':'asde'}";
Run Code Online (Sandbox Code Playgroud)
我必须在数组中添加一些信息,如Data,Lat,Lng,Index(渐进式).
我用这个函数:
var jsonString = filePos.replace(/\'/g, '"').split('}'),
positionAry;
jsonString.pop();
positionAry = JSON.parse('[' + jsonString.join('},') + '}]');
beaches = positionAry.map(function (obj, index) {
return [obj.Data, obj.Lat, obj.Lng, index+1];
});
Run Code Online (Sandbox Code Playgroud)
但返回的数组是:
var beaches = [
["17/02/2015", "45.411158", "11.906326", 1],
["18/02/2015", "45.411190", "11.906324", 2],
];
Run Code Online (Sandbox Code Playgroud)
所以我不想要这个数组,但是这个:
var beaches = [
["17/02/2015", 45.411158, 11.906326, 1],
["18/02/2015", 45.411190, 11.906324, 2],
];
Run Code Online (Sandbox Code Playgroud)
简而言之,我不想让Lat和Lng用引号括起来.我怎样才能做到这一点?
在您的JSON字符串filePos中,这些值表示为字符串,而不是数字.
如果你不想要"引号"(即你不希望它们作为字符串),你必须手动将它们解析为数字,使用parseFloat().