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

3

实际上,我在响应中收到了带有斜杠的数组,所以我做了这个。

我在响应中收到的内容

[{\"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中使用?

2
你想尝试使用JSON.parse。 - samsonthehero
抱歉,我不了解 JSON.parse,如果我使用它,我能将字符串转换为数组吗?你能在这里给一个例子吗? - Deekshith S
4个回答

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
你可以使用 JSON.parse 来实现此功能。
const myNewArray = JSON.parse(str);

0

use 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));

-1
你可以使用 JSON.parse():
var array = JSON.parse(`[
    {"name":"title",  "value":"%post_title%"}, 
    {"name":"author", "value":"%author_name%"}
]`);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接