【问题标题】:Javascript: How can i get a key value inside an array of a JSON objectJavascript:如何在 JSON 对象的数组中获取键值
【发布时间】:2016-02-01 12:31:04
【问题描述】:

您好,我正在构建一个网络应用程序,我使用 iTunes 搜索 API。 因此,当我搜索某位艺术家的特定曲目时,iTunes 会返回一个 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行

【问题讨论】:

  • 我需要artistId和trackId

标签: jquery json getjson jquery-callback


【解决方案1】:

你不能像这样得到身份证

 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)})

【讨论】:

    【解决方案2】:

    在您提供的小提琴中,您尝试通过编写 data.results.artistId 来访问艺术家 ID,但结果是一个数组,因此您必须访问其中一个索引处的属性。所以像data.results[0].artistId 这样的东西应该适合你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-03
      相关资源
      最近更新 更多