Используйте скобку член оператора:
var value = obj[0]['@attr'];
Затем вы можете получить доступ к свойству official
:
value.official;
или
obj[0]['@attr']['official'];
Или
obj[0]['@attr'].official;
Редактировать: Как указал Джонатан , у вас есть проблемы со структурой JSON, которую вы публикуете, я бы порекомендовал вам проверить ваш JSON с помощью такого инструмента, как JSONLint .
Но я думаю, что вы имеете в виду что-то вроде этого:
var obj = {
"image": [{
"url": "http:\/\/www.last.fm\/music\/Undefined\/+images\/3040021",
"format": "jpg",
"sizes": [{
"#text": "http:...jpg",
"name": "original",
"width": "397",
"height": "397"
},
{
"#text": "http:...jpg",
"name": "large",
"width": "126",
"height": "126"
}
],
"@attr": {
"official": "yes"
}
}]
};
И с этой структурой JSON вы можете выполнить итерацию следующим образом:
$.each(obj.image, function () {
alert(this['@attr'].official);
});