将看似JSON数组(类型为字符串)的API响应的结果解析回数组?

时间:2017-04-18 06:10:34

标签: javascript arrays json string

我们如何将字符串数组转换回数组。

var arr = '[ "abc", "def"]';
console.log(typeof arr)    ==> String

如何将其转换回数组?

我从API响应中以字符串的形式获取此数组。这些都是错误,可能是多重的。我想将它们转换为数组,以便我可以将它们显示在正确的位置上。

4 个答案:

答案 0 :(得分:0)

如果您的字符串真的如您的编辑中所示(不是原始问题),那么它是有效的JSON,因此您可以使用JSON.parse

var str = '["abc", "def"]';
var arr = JSON.parse(str);

答案 1 :(得分:0)

由于您的数组语法符合JSON array的语法:使用JSON解析器。

浏览器最近有一个内置。

arr = JSON.parse(arr);

对于更通用的方法,您需要查看eval,但这有许多缺点(包括范围,速度和安全性问题)。

答案 2 :(得分:0)

您无法将其转换回来,因为您实际上没有数组。

应该创建一个没有单引号的数组...你正在创建一个字符串,如果你想创建一个数组,你想做类似下面的事情。

var arr = ["string 1","string 2"];

<强>更新 由于您更新了问题,并提供了有关字符串原因的信息,因此您可以按照建议的解决方案进行操作:

JSON.parse(arr);

答案 3 :(得分:0)

使用 JSON.parse() JSON string转换为JSON object

<强>样本

&#13;
&#13;
var arr = '[ "abc", "def"]';
console.log(typeof arr); // string

var arr = JSON.parse('[ "abc", "def"]');
console.log(typeof arr); // object
&#13;
&#13;
&#13;