2016-09-16 70 views
0

阵列可以说我有一个字符串,像这样:一个结构化的字符串转换为使用Javascript

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

我没有收到错误。为了使JSON.parse工作,myStr2需要看起来像猫, – Xufox

+0

该字符串应该是正确的* JSON *格式。在你的第一个案例中,你不可能有这样的错误。只有情况2和3你有问题,因为字符串应该按照Nour Yasein的建议引用。 –

回答

1

您可以使用此代码将字符串转换为数组。删除括号并用逗号分割字符串。

var myStr = "[1,2,3,4,5]"; 
var arr = myStr.replace(/^\[|\]$/g,'').split(','); // converted array 
2

你应该把它写像这样

var myStr2 = '["cats","dogs","elephants"]' ; 
obj = JSON.parse(myStr2); 
1

尝试var array = JSON.parse("[" + myStr + "]");这会给你一个数组[1,2,3,4,5]

0

对于数this作品的数组:

var myStr = "[1,2,3,4,5]"; 
var array = JSON.parse(myStr); 

console.log(array); 

输出:

[1, 2, 3, 4, 5]