如何在angularJS中将字符串转换为数组

时间:2018-10-13 05:39:54

标签: javascript arrays angularjs json string

实际上,我收到带有斜线的数组,所以我这样做了。

我收到的回复

[{\"name\":\"title\",\"value\":\"%post_title%\"},{\"name\":\"author\",\"value\":\"%author_name%\"}]

所以我做到了

var b=JSON.stringify(response.data);
var str = b.replace(/\\/g, '');

在这之后,我有一个像这样的字符串

["{"name":"title","value":"%post_title%"}","{"name":"author","value":"%author_name%"}","{"name":"wordcount","value":"%wordcount%"}","{"name":"logged_in","value":"%logged_in%"}","{"name":"page_id","value":"%page_id%"}","{"name":"post_date","value":"%post_date%"}"]

现在,我该如何再次将其隐藏到数组中,以便在ng-repeat中使用它?

4 个答案:

答案 0 :(得分:2)

您应该使用JSON.parse()创建一个数组:

let str = '[{\"name\":\"title\",\"value\":\"%post_title%\"},{\"name\":\"author\",\"value\":\"%author_name%\"}]';

console.log(JSON.parse(str));
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:1)

您可以使用JSON.parse。

const myNewArray = JSON.parse(str);

答案 2 :(得分:0)

使用angular.fromJson()

$scope.x = '[{\"name\":\"title\",\"value\":\"%post_title%\"},{\"name\":\"author\",\"value\":\"%author_name%\"}]';

 console.log(angular.fromJson($scope.x));

否则使用JSON.parse()

console.log(JSON.parse($scope.x));

答案 3 :(得分:-1)

您可以使用JSON.parse()

var array = JSON.parse(`[
    {"name":"title",  "value":"%post_title%"}, 
    {"name":"author", "value":"%author_name%"}
]`);