我有以下字符串

['Value',2],['Value2',4],['Value3',10]


我想将其转换为javascript数组。我应该能够

var tmpStrings = "['Value',2],['Value2',4],['Value3',10]";
var arrStrings = JSON.parse("[" + tmpStrings + "]");


不幸的是,我收到意外的字符错误。我以为可能是单引号,但转义它们不会改变任何东西。整数似乎工作正常,以下对我来说很好

var tmpInts = "[4,2],[5,3],[6,3]";
var arrInts = JSON.parse("[" + tmpInts + "]");

最佳答案

JSON将不接受'。因此,您需要将其更改为双引号,像这样

console.log(JSON.parse("[" + tmpStrings.replace(/'/g, '"') + "]"));
# [ [ 'Value', 2 ], [ 'Value2', 4 ], [ 'Value3', 10 ] ]


我们只是将字符串中的所有'替换为双引号。

警告:这将用'替换",即使它出现在字符串的中间。

关于javascript - 从字符串(包含字符串)创建数组的javascript数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24226148/

10-09 18:21
查看更多