从string(包含字符串)创建javascript数组数组

时间:2014-06-15 02:52:31

标签: javascript arrays json

我有以下字符串

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

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

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

不幸的是我遇到了意外的字符错误。我认为它可能是单引号但逃避它们并没有改变任何东西。 Int似乎工作正常,下面运行对我来说很好

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

1 个答案:

答案 0 :(得分:3)

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

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

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

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