我有以下字符串
['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 + "]");
答案 0 :(得分:3)
JSON不接受'
。因此,您需要将其更改为双引号,例如
console.log(JSON.parse("[" + tmpStrings.replace(/'/g, '"') + "]"));
# [ [ 'Value', 2 ], [ 'Value2', 4 ], [ 'Value3', 10 ] ]
我们只是将字符串中的所有'
替换为双引号。
警告:这会将'
替换为"
,即使它出现在字符串的中间位置。