maj*_*man 6 javascript jquery json
我正在使用last.fm api来获取艺术家图像,而我正在获取JSON结果,我需要检查'@attr'值.不幸的是,我似乎无法访问此值.结果看起来像:
{"image":[{
"url":"http:\/\/www.last.fm\/music\/Undefined\/+images\/3040021",
"format":"jpg",
"sizes":{"size":{"#text":"http:...jpg","name":"original","width":"397","height":"397"},{"#text":"http:...jpg","name":"large","width":"126","height":"126"},]},
"@attr":{"official":"yes"}}
Run Code Online (Sandbox Code Playgroud)
这是我无法达到的最后价值......
有任何想法吗?
我试过['@attr']它并没有'似乎工作 - 只返回undefined.
我正在做一个$ .each(obj.image,function(){}) - 并且在我成功获得this.url,this.format等 - 但我没有运气这个['@ attr "]
使用括号表示法成员运算符:
var value = obj[0]['@attr'];
Run Code Online (Sandbox Code Playgroud)
然后您可以official通过以下方式访问酒店:
value.official;
Run Code Online (Sandbox Code Playgroud)
要么
obj[0]['@attr']['official'];
Run Code Online (Sandbox Code Playgroud)
要么
obj[0]['@attr'].official;
Run Code Online (Sandbox Code Playgroud)
编辑:正如Jonathan指出的那样,你发布的JSON结构存在问题,我建议你用JSONLint这样的工具验证你的JSON .
但我认为你的意思是这样的:
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"
}
}]
};
Run Code Online (Sandbox Code Playgroud)
使用该JSON结构,您可以通过以下方式迭代它:
$.each(obj.image, function () {
alert(this['@attr'].official);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2198 次 |
| 最近记录: |