JavaScript JSON несколько ключей - PullRequest
1 голос
/ 03 апреля 2011

У меня есть 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"
}
]
}

Как видите, в блоке items четыре клавиши site_name.Я могу получить доступ только к первому, используя items[0].site_name, но как получить доступ к трем остальным по одному?

Ответы [ 3 ]

1 голос
/ 03 апреля 2011

Чтобы получить все имя сайта

Вам нужно запустить while loop, чтобы сделать это динамически

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

var site_name=items[i].site_name;
}
1 голос
/ 03 апреля 2011

Поздравления если я вас правильно понял, вам нужно перебрать массив объектов, как это

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);
}
0 голосов
/ 03 апреля 2011

Вы можете легко сделать это с помощью jquery:

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

Тогдакоторый будет зацикливаться на элементах, хранящих нужный сегмент в 'tempvar'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...