使用Javascript将结构化字符串转换为数组

时间:2016-09-16 19:22:48

标签: javascript json

假设我有一个像这样的字符串:

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]

所以我真的不明白为什么会收到这个错误。

4 个答案:

答案 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]