2015-06-20 103 views
1

我知道这是一个noob问题,但我是新来的JSON ...我不能访问该对象的数据:无法访问JSON对象的JavaScript

{ 
"kind": "youtube#channelListResponse", 
"etag": "\"Y3xTLFF3RLtHXX85JBgzzgp2Enw/7zZjjC0N0XTk8OrPCzfx2O9vPg8\"", 
"pageInfo": { 
    "totalResults": 1, 
    "resultsPerPage": 1 
}, 
"items": [ 
    { 
    "kind": "youtube#channel", 
    "etag": "\"Y3xTLFF3RLtHXX85JBgzzgp2Enw/_uCWU9q9VCvKwgXG_6vL636QCVU\"", 
    "id": "UCSWgmaFWOuYVWR8Z30n5qLQ", 
    "snippet": { 
    "title": "ChrisCodeX", 
    "description": "Channel Features: wateva\r\n-music\r\n-gaming\r\n-comedy\r\nSubscribe to stay tune!\r\n\r\nFun Fact, to the haters out there:\r\n\r\nBeing an xbox fan isn't wrong but I hope you're being sarcastic and you realize that's a myth evolved from peoples' insistance on proving they were getting their money's worth from XBL.\r\nThe \"online connection\" is determined solely by your personal internet speeds. In other words it has nothing to do with which console you play.", 
    "publishedAt": "2011-08-09T02:23:58.000Z", 
    "thumbnails": { 
    "default": { 
     "url": "https://yt3.ggpht.com/-UL6VyOBij08/AAAAAAAAAAI/AAAAAAAAAAA/Y4oSGlkvucw/s88-c-k-no/photo.jpg" 
    }, 
    "medium": { 
     "url": "https://yt3.ggpht.com/-UL6VyOBij08/AAAAAAAAAAI/AAAAAAAAAAA/Y4oSGlkvucw/s240-c-k-no/photo.jpg" 
    }, 
    "high": { 
     "url": "https://yt3.ggpht.com/-UL6VyOBij08/AAAAAAAAAAI/AAAAAAAAAAA/Y4oSGlkvucw/s240-c-k-no/photo.jpg" 
    } 
    }, 
    "localized": { 
    "title": "ChrisCodeX", 
    "description": "Channel Features: wateva\r\n-music\r\n-gaming\r\n-comedy\r\nSubscribe to stay tune!\r\n\r\nFun Fact, to the haters out there:\r\n\r\nBeing an xbox fan isn't wrong but I hope you're being sarcastic and you realize that's a myth evolved from peoples' insistance on proving they were getting their money's worth from XBL.\r\nThe \"online connection\" is determined solely by your personal internet speeds. In other words it has nothing to do with which console you play." 
    } 
    } 
    } 
] 
} 

我将如何得到缩略图值默认网址?

我试着用

$-getJSON(url, function(data){ 
var url = data.items.snippet.thumbnails.default.url; 
}); 

但我得到的是错误类型错误:data.items [0] .snippet.thumbnail是未定义

+1

好,'thumbnail'确实是不确定的。缩略图不是。您发布的代码和发布的消息不匹配。 –

+0

@FelixKling当然,他们不匹配,因为我没有复制回复,我输入了它......但你明白我的问题,是吗? –

回答

2

在对象的items属性是一个数组,所以你在访问时,它定义一个指数:

data.items[0].snippet.thumbnails.default.url 
+0

你怎么知道什么时候smth是一个数组或对象? –

+1

items属性如下所示:''items“:[{”kind“:”youtube#channel“,...}]'。注意外面的[[}]'。所有其他属性都只是用'{}'包装的。 '{...}'表示一个对象,而'[{...}]'表示一个对象数组。在这种情况下,你只有一个项目。更多项目用逗号分隔:'[{...},{...}]'。 – redelschaap

+0

非常感谢:*下次我会记住我的想法:) –