【问题标题】:How to convert string to array in angularJS如何在angularJS中将字符串转换为数组
【发布时间】:2019-03-18 07:07:42
【问题描述】:

实际上,我收到了带有斜杠的数组作为响应,所以我这样做了。

我收到的回复

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

【问题讨论】:

  • 你想试试 JSON.parse
  • 对不起,我不知道 JSON.parse,如果我使用它可以将字符串转换为数组吗?你能在这里举个例子吗

标签: javascript arrays angularjs json string


【解决方案1】:

您可以为此使用 JSON.parse。

const myNewArray = JSON.parse(str);

【讨论】:

    【解决方案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; }

    【讨论】:

      【解决方案3】:

      使用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));
      

      【讨论】:

        【解决方案4】:

        你可以使用JSON.parse():

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-09-01
          • 2015-11-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-09
          • 2021-12-13
          相关资源
          最近更新 更多