如何从Key Json获取逐个值(数组中的值)?

时间:2017-07-24 13:15:09

标签: javascript angularjs arrays json

我从一个键获得价值。因为在我的情况下,数组形式的多个值进入一个键。

JSON

  engine_data: {
    internal: {
       poling: {
          account: [
             "2009-38554",
             "2009-38554"
             ],
          secure: [
             "2008-11833"
            ]
         }
      }
    }

使用Javascript:

call.all('xyz').get(id).then(function(resp)
      {
        var res=resp.data;
        var jsonData = 
        res.engine_data.internal.poling;
        for(var i in jsonData){       
          if(i == "account")
          {          
            alert(jsonData[i]);
            alert(jsonData[i].length);           
            var account = jsonData[i].join(",")
            $scope.acount = www.xyz/+account;
          }if (i == "secure") {            
            var secure = jsonData[i].join(",")
            $scope.secure = www.abc/+secure;
          }         

        }

在我的数组形式的Json值中,所以account(keys)有数组形式的两个值。当我提示打印时,两个值一起打印。

屏幕截图: enter image description here

所以我想在www.xyz/ url中添加这两个值。

喜欢外出结果应该是
www.xyz/2009-38554
www.xyz/2009-38554

但是现在我正在

www.xyz/2009-38554,2009-38554

提前分享您的想法。

1 个答案:

答案 0 :(得分:0)

你可以迭代从account键获得的数组,并使你可以在数组中形成值的所有可能的url,你可以使$scope.account成为一个数组并推送所有可能的组合,如下所示:

for(var i in jsonData){       
  if(i == "account")
  {          
    alert(jsonData[i]);
    alert(jsonData[i].length);           

    $scope.account = [];
    var account = jsonData[i];
    for(var i=0; i<account.length; i++)
       $scope.acount.push("www.xyz/"+account[i]);
  }if (i == "secure") {            
    var secure = jsonData[i].join(",")
    $scope.secure = www.abc/+secure;
  }         

}