使用拆分从字符串中获取信息

时间:2015-06-29 08:25:31

标签: javascript arrays

我有这个字符串:

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。我怎么能这样做?

2 个答案:

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

希望这能指出你正确的方向