将字符串(看起来像数组)转换为多维数组

时间:2016-11-25 12:41:59

标签: javascript

我有一个字符串: [[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]

如何将其转换为多维数组?

3 个答案:

答案 0 :(得分:1)

您可以使用JSON.parse()将字符串转换为对象,假设它是有效的JSON开头。您的数据具有由单引号分隔的字符串,这些字符串不是有效的JSON。如果你用双引号替换它们那么它将起作用......



var s = "[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]";
var ar = JSON.parse(s.split("'").join("\""));
console.log(ar);




答案 1 :(得分:0)

做这样的事情怎么样:

function stringToObject(data) {
    var converted = {};
    try {
        converted = JSON.parse(data);
    } catch(err) {
        console.log('Provided data is not valid', err);
    }
    return converted;
}

console.log(stringToObject('[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],"SMTH 123",35]'));
console.log(stringToObject('[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231')); // invalid string

请注意,我已经在我的示例中更改了'into',如果这是一个问题,您可以查看在该问题的另一个答案中完成的转换。

答案 2 :(得分:0)

假设JQuery也没关系:

var arr = $.parseJSON('[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]')