我有一个字符串: [[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]
转换字符串(看起来像数组)多维数组
我怎样才能将其转换为一个多维数组?
我有一个字符串: [[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]
转换字符串(看起来像数组)多维数组
我怎样才能将其转换为一个多维数组?
您可以使用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);
如何做这样的事情:
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
请注意在我变'成“我的样本,如果这是一个问题,你可以看看在另一个答案为这个问题做了转换。
假设jQuery是还行ay:
var arr = $.parseJSON('[[-3.9,-160.1,34.7],[-0.4,16.3,18.0],[236,236,231],'SMTH 123',35]')
如果您已经为此编写了代码,但您无法工作,那么您来对地方了。只需将您的代码(或相关部分)添加到问题中,因为没有这些,我们就无法提供帮助。请参阅https://stackoverflow.com/help/how-to-ask –
请解释一下你想要的输出应该是什么样子.... – Stuart
你可以,如果你在PHP编程使用'json_decode'。 –