Aniket Sinha
Aniket Sinha

Reputation: 6031

AngularJS Convert Array to JSON

I have an array containing 3 elements

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

Now, I want to send this data to server in JSON format. Therefore, I used

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

But the console displays empty array

aa = [] 

How can I convert this array into JSON?

Upvotes: 3

Views: 21939

Answers (1)

ivarni
ivarni

Reputation: 17878

That's not the correct way to add elements to an array, you're adding properties instead. If you did console.log(a.username); you'd see your $scope.username value.

You could either do

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

But it looks more like what you're trying to do is

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

That is, you want your a to be an object if you're going to add properties to it. And that would be better written as

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

Upvotes: 9

Related Questions