Javascript:如何在 JSON 对象的数组中获取键值

Javascript: How can i get a key value inside an array of a JSON object

你好,我正在构建一个网络应用程序,我使用 iTunes 搜索 api。 因此,当我搜索艺术家的特定曲目时,iTunes return 给我一个 JSON,其中包含一些与我输入的搜索词相关的信息。

JSON 看起来像这样:

{
 "resultCount":1,
 "results": [
{"wrapperType":"track", "kind":"song", "artistId":271256, "collectionId":1025130620, "trackId":1025130621, "artistName":"Drake", "collectionName":"Hotline Bling - Single", "trackName":"Hotline Bling", "collectionCensoredName":"Hotline Bling - Single", "trackCensoredName":"Hotline Bling", "artistViewUrl":"https://itunes.apple.com/us/artist/drake/id271256?uo=4", "collectionViewUrl":"https://itunes.apple.com/us/album/hotline-bling/id1025130620?i=1025130621&uo=4", "trackViewUrl":"https://itunes.apple.com/us/album/hotline-bling/id1025130620?i=1025130621&uo=4", "previewUrl":"http://a1586.phobos.apple.com/us/r1000/172/Music6/v4/f6/2f/76/f62f7681-0f4c-3a9f-9aeb-2098297652f7/mzaf_7372296458390444020.plus.aac.p.m4a", "artworkUrl30":"http://is1.mzstatic.com/image/thumb/Music7/v4/2d/c5/31/2dc53130-44b8-8347-2f83-bce05ee8a649/source/30x30bb.jpg", "artworkUrl60":"http://is1.mzstatic.com/image/thumb/Music7/v4/2d/c5/31/2dc53130-44b8-8347-2f83-bce05ee8a649/source/60x60bb.jpg", "artworkUrl100":"http://is1.mzstatic.com/image/thumb/Music7/v4/2d/c5/31/2dc53130-44b8-8347-2f83-bce05ee8a649/source/100x100bb.jpg", "collectionPrice":1.29, "trackPrice":1.29, "releaseDate":"2015-07-31T07:00:00Z", "collectionExplicitness":"notExplicit", "trackExplicitness":"notExplicit", "discCount":1, "discNumber":1, "trackCount":1, "trackNumber":1, "trackTimeMillis":267024, "country":"USA", "currency":"USD", "primaryGenreName":"Hip-Hop/Rap", "radioStationUrl":"https://itunes.apple.com/station/idra.1025130621", "isStreamable":true}]
}

我怎样才能获得结果数组中关于 "artistId" 的特定值?

我使用 $.getJSON 调用,但在回调中我无法获得此值。

看看这个 jsfiddle example 在 javascript

的第 54 行

在您提供的 fiddle 中,您尝试通过写入 data.results.artistId 来访问 artistId,但是结果是一个数组,因此您必须访问 属性在其中一个指数。所以像 data.results[0].artistId 这样的东西应该适合你。

这样获取不到Id

 var arr={
 "resultCount":1,
 "results": [
{"wrapperType":"track", "kind":"song", "artistId":271256, "collectionId":1025130620, "trackId":1025130621, "artistName":"Drake", "collectionName":"Hotline Bling - Single", "trackName":"Hotline Bling", "collectionCensoredName":"Hotline Bling - Single", "trackCensoredName":"Hotline Bling", "artistViewUrl":"https://itunes.apple.com/us/artist/drake/id271256?uo=4", "collectionViewUrl":"https://itunes.apple.com/us/album/hotline-bling/id1025130620?i=1025130621&uo=4", "trackViewUrl":"https://itunes.apple.com/us/album/hotline-bling/id1025130620?i=1025130621&uo=4", "previewUrl":"http://a1586.phobos.apple.com/us/r1000/172/Music6/v4/f6/2f/76/f62f7681-0f4c-3a9f-9aeb-2098297652f7/mzaf_7372296458390444020.plus.aac.p.m4a", "artworkUrl30":"http://is1.mzstatic.com/image/thumb/Music7/v4/2d/c5/31/2dc53130-44b8-8347-2f83-bce05ee8a649/source/30x30bb.jpg", "artworkUrl60":"http://is1.mzstatic.com/image/thumb/Music7/v4/2d/c5/31/2dc53130-44b8-8347-2f83-bce05ee8a649/source/60x60bb.jpg", "artworkUrl100":"http://is1.mzstatic.com/image/thumb/Music7/v4/2d/c5/31/2dc53130-44b8-8347-2f83-bce05ee8a649/source/100x100bb.jpg", "collectionPrice":1.29, "trackPrice":1.29, "releaseDate":"2015-07-31T07:00:00Z", "collectionExplicitness":"notExplicit", "trackExplicitness":"notExplicit", "discCount":1, "discNumber":1, "trackCount":1, "trackNumber":1, "trackTimeMillis":267024, "country":"USA", "currency":"USD", "primaryGenreName":"Hip-Hop/Rap", "radioStationUrl":"https://itunes.apple.com/station/idra.1025130621", "isStreamable":true}]
}
arr.results.forEach(function(i,j){console.log(i.artistId)})