javascript – 如何使用jQuery访问JSON中的’@attr’值

前端之家收集整理的这篇文章主要介绍了javascript – 如何使用jQuery访问JSON中的’@attr’值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用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"}}

这是我无法达到的最后价值……

有任何想法吗?

我试过[‘@attr’]它并没有’似乎工作 – 只返回undefined.

我正在做一个$.each(obj.image,function(){}) – 并且在我成功获得this.url,this.format等 – 但我没有运气这个[‘@ attr “]

最佳答案
使用bracket notation成员运算符:

var value = obj[0]['@attr'];

然后您可以通过以下方式访问官方酒店:

value.official;

要么

obj[0]['@attr']['official'];

要么

obj[0]['@attr'].official;

编辑:正如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" 
    } 
  }]
};

使用该JSON结构,您可以通过以下方式迭代它:

$.each(obj.image,function () {
  alert(this['@attr'].official);
});
原文链接:https://www.f2er.com/jquery/428847.html

猜你在找的jQuery相关文章