Как преобразовать строку в массив в angularJS - PullRequest
0 голосов
/ 13 октября 2018

На самом деле, я получаю массив в ответ с косой чертой, поэтому я сделал это.

что я получил на ответ

[{\"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 голосов
/ 13 октября 2018

Вы можете использовать JSON.parse():

var array = JSON.parse(`[
    {"name":"title",  "value":"%post_title%"}, 
    {"name":"author", "value":"%author_name%"}
]`);
0 голосов
/ 13 октября 2018

Вы должны использовать 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; }
0 голосов
/ 13 октября 2018

используйте 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));
0 голосов
/ 13 октября 2018

Для этого вы можете использовать JSON.parse.

const myNewArray = JSON.parse(str);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...