我有这个字符串:
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'}";
我必须在数组中放入一些信息,如数据,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];
});
但返回的数组是:
var beaches = [
["17/02/2015", "45.411158", "11.906326", 1],
["18/02/2015", "45.411190", "11.906324", 2],
];
所以我不想要这个阵列,但是这个:
var beaches = [
["17/02/2015", 45.411158, 11.906326, 1],
["18/02/2015", 45.411190, 11.906324, 2],
];
简而言之,我不想用引号中的Lat和Lng。我怎么能这样做?
答案 0 :(得分:5)
在您的JSON字符串filePos中,这些值表示为字符串,而不是数字。
如果您不想要“引号”(即您不希望它们作为字符串),则必须使用parseFloat()
手动将它们解析为数字。
答案 1 :(得分:2)
解析字符串会产生子字符串。要获取lat和long的数值,需要在子字符串上使用parsefloat。
Run The Job
[Arguments] ${machine_ip} ${username} ${password} ${file_location} ${KE_ID}
Open Connection ${machine_ip} timeout=60
Login ${username} ${password}
${run_jar_file}= Set Variable java -jar -Dspring.profiles.active=dev ${file_location} Ids=${KE_ID}
${output}= Execute Command ${run_jar_file}
Log ${output}
Sleep 30
Close Connection
希望这能指出你正确的方向