假设我有一个像这样的字符串:
var myStr = "[1,2,3,4,5]";
如何将其转换为以下内容:
[1, 2, 3, 4, 5]
我正在尝试使用以下命令执行此操作:
JSON.parse(myStr)
但是,我收到了一个错误。这样做的正确方法是什么? 此外,相同的方法可以用于包含非数字的结构化字符串吗?如下所示:
var myStr2 = "[cats, dogs, elephants]"
编辑:
具体来说,我收到了这个错误:
SyntaxError: JSON.parse: expected ',' or ']' after array element at line 1 column 5 of the JSON data
字符串部分是这样的:
[16 Sep,16 Sep,16 Sep,16 Sep,16 Sep,16 Sep,16 Sep]
所以我真的不明白为什么会收到这个错误。
答案 0 :(得分:2)
你应该这样写
var myStr2 = '["cats","dogs","elephants"]' ;
obj = JSON.parse(myStr2);
答案 1 :(得分:1)
尝试var array = JSON.parse("[" + myStr + "]");
这会给你一个数组[1,2,3,4,5]
答案 2 :(得分:1)
您可以使用此代码将字符串转换为数组。移除括号并使用逗号分隔字符串。
var myStr = "[1,2,3,4,5]";
var arr = myStr.replace(/^\[|\]$/g,'').split(','); // converted array
答案 3 :(得分:0)
对于编号为this的数组:
var myStr = "[1,2,3,4,5]";
var array = JSON.parse(myStr);
console.log(array);
输出:
[1, 2, 3, 4, 5]