yolo
yolo

Reputation: 2795

JavaScript json multiple keys

I have a JSON var

{
"total":4,
"page":1,
"pagesize":30,
"type":"associated_user",
"items":[
{
"user_id":2727,
"site_name":"Physics",
"user_creation_date":1300894372,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
},
{
"user_id":3864,
"site_name":"TeX - LaTeX",
"user_creation_date":1298808016,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
},
{
"user_id":5983,
"site_name":"Stack Apps",
"user_creation_date":1301323608,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
},
{
"user_id":6260,
"site_name":"English Language and Usage",
"user_creation_date":1300449905,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
}
]
}

As you can see, there are four site_name keys in items block. I can access only the first using items[0].site_name but how to access the other three one by one?

Upvotes: 1

Views: 1716

Answers (3)

Marwan
Marwan

Reputation: 2402

Greetings if i get you right so you need to loop over the object Array just like this

var obj ={
"total":4,
"page":1,
"pagesize":30,
"type":"associated_user",
"items":[
{
"user_id":2727,
"site_name":"Physics",
"user_creation_date":1300894372,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
},
{
"user_id":3864,
"site_name":"TeX - LaTeX",
"user_creation_date":1298808016,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
},
{
"user_id":5983,
"site_name":"Stack Apps",
"user_creation_date":1301323608,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
},
{
"user_id":6260,
"site_name":"English Language and Usage",
"user_creation_date":1300449905,
"association_id":"2fbcabe5-cd42-4f5b-821e-2f1475e42ade"
}
]
};

var objItems = obj.items;
for(var i=0;i<objItems .length;i++)
{
alert(obj.items[i].site_name);
}

Upvotes: 1

Sangeet Menon
Sangeet Menon

Reputation: 9915

To get all the site name

You need to run a while loop to do it dynamically

var i=0
while(i<items.length){

var site_name=items[i].site_name;
}

Upvotes: 1

Barry Chapman
Barry Chapman

Reputation: 6780

You could easily do this with jquery:

$( jsonvar ).each(function() {
tempvar = this.site_name;
});

Then that will loop over the items storing the needed segment in 'tempvar'

Upvotes: 0

Related Questions