AngularJS将数组转换为JSON

时间:2014-03-05 07:19:31

标签: javascript arrays json angularjs

我有一个包含3个元素的数组

var a = [];
  a["username"]=$scope.username;
  a["phoneNo"]=$scope.phoneNo;
  a["altPhoneNo"]=$scope.altPhoneNo;

现在,我想以JSON格式将此数据发送到服务器。因此,我用了

    var aa = JSON.stringify(a);
    console.log("aa = "+aa);

但控制台显示空数组

aa = [] 

如何将此数组转换为JSON?

1 个答案:

答案 0 :(得分:9)

这不是向数组添加元素的正确方法,而是添加属性。 如果您执行console.log(a.username);,则会看到$scope.username值。

你可以做

var a = [];
a.push({"username": $scope.username});
a.push({"phoneNo": $scope.phoneNo});
a.push({"altPhoneNo": $scope.altPhoneNo});

但它看起来更像是你要做的是

var a = {};
a["username"] = $scope.username;
a["phoneNo"] = $scope.phoneNo;
a["altPhoneNo"] = $scope.altPhoneNo;

也就是说,如果要为其添加属性,则希望a成为对象。 那会更好地写成

var a = {};
a.username = $scope.username;
a.phoneNo = $scope.phoneNo;
a.altPhoneNo = $scope.altPhoneNo;