解析 youtube 数据 v3 api

拉马塔特

我想解析 v3 的 youtube api 数据的响应

我得到的 JSON 响应是:

{
 "kind": "youtube#playlistItemListResponse",
 "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/l1epVamXLkcsfpr63PWaASmovg4\"",
 "nextPageToken": "CAMQAA",
 "pageInfo": {
 "totalResults": 27,
 "resultsPerPage": 3
 },
 "items": [
{
  "kind": "youtube#playlistItem",
  "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/KyN5GfWqc2WFc37j5GcuhThVXig\"",
  "id": "UExTbVNFYzhaNmxpcTgyT3RlcHBSbS1rb3l0ZWdhUFgyQy41NkI0NEY2RDEwNTU3Q0M2",
  "snippet": {
    "publishedAt": "2017-10-03T17:59:36.000Z",
    "channelId": "UCuv25YFiKY3NUnuG7q7F3ng",
    "title": "أغرب الفرص الضائعة (الجولة 5) من الدوري السعودي",
    "description": "تابع مباريات #دوري_جميل مباشرة و حصريا على موقع وتطبيق #دوري_بلس : \n\nhttp://www.dawriplus.com\n\nتويتر : https://twitter.com/dawriplusksa?s=09\n\nانستجرام :http://instagram.com/dawriplusksa\n\nفيس بوك : https://m.facebook.com/DawriPlusKSA/",
    "thumbnails": {
      "default": {
        "url": "https://i.ytimg.com/vi/Tdt06VCCko0/default.jpg",
        "width": 120,
        "height": 90
      },
      "medium": {
        "url": "https://i.ytimg.com/vi/Tdt06VCCko0/mqdefault.jpg",
        "width": 320,
        "height": 180
      },
      "high": {
        "url": "https://i.ytimg.com/vi/Tdt06VCCko0/hqdefault.jpg",
        "width": 480,
        "height": 360
      },
      "standard": {
        "url": "https://i.ytimg.com/vi/Tdt06VCCko0/sddefault.jpg",
        "width": 640,
        "height": 480
      },
      "maxres": {
        "url": "https://i.ytimg.com/vi/Tdt06VCCko0/maxresdefault.jpg",
        "width": 1280,
        "height": 720
      }
    },
    "channelTitle": "دوري بلس",
    "playlistId": "PLSmSEc8Z6liq82OteppRm-koytegaPX2C",
    "position": 0,
    "resourceId": {
      "kind": "youtube#video",
      "videoId": "Tdt06VCCko0"
    }
  },
  "contentDetails": {
    "videoId": "Tdt06VCCko0",
    "videoPublishedAt": "2017-10-03T13:32:19.000Z"
  }
},
{
  "kind": "youtube#playlistItem",
  "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/QHbLatdcFE-i6Pxt5mku-QFX29c\"",
  "id": "UExTbVNFYzhaNmxpcTgyT3RlcHBSbS1rb3l0ZWdhUFgyQy4yODlGNEE0NkRGMEEzMEQy",
  "snippet": {
    "publishedAt": "2018-05-07T17:24:35.000Z",
    "channelId": "UCuv25YFiKY3NUnuG7q7F3ng",
    "title": "أغرب الفرص الضائعة (الجولة 26) من الدوري السعودي",
    "description": "أغرب الفرص الضائعة (الجولة 26) من الدوري السعودي\n\nتابع جميع مباريات الدوري السعودي للمحترفين فقط وحصرياً عبر تطبيق دوري بلس\nhttp://www.dawriplus.com\n\nتويتر : https://twitter.com/dawriplusksa\nانستجرام : http://instagram.com/dawriplusksa\nفيسبوك : https://m.facebook.com/DawriPlusKSA/",
    "thumbnails": {
      "default": {
        "url": "https://i.ytimg.com/vi/yegbCi2DcE4/default.jpg",
        "width": 120,
        "height": 90
      },
      "medium": {
        "url": "https://i.ytimg.com/vi/yegbCi2DcE4/mqdefault.jpg",
        "width": 320,
        "height": 180
      },
      "high": {
        "url": "https://i.ytimg.com/vi/yegbCi2DcE4/hqdefault.jpg",
        "width": 480,
        "height": 360
      },
      "standard": {
        "url": "https://i.ytimg.com/vi/yegbCi2DcE4/sddefault.jpg",
        "width": 640,
        "height": 480
      },
      "maxres": {
        "url": "https://i.ytimg.com/vi/yegbCi2DcE4/maxresdefault.jpg",
        "width": 1280,
        "height": 720
      }
    },
    "channelTitle": "دوري بلس",
    "playlistId": "PLSmSEc8Z6liq82OteppRm-koytegaPX2C",
    "position": 1,
    "resourceId": {
      "kind": "youtube#video",
      "videoId": "yegbCi2DcE4"
    }
  },
  "contentDetails": {
    "videoId": "yegbCi2DcE4",
    "videoPublishedAt": "2018-04-17T10:34:50.000Z"
  }
},
{
  "kind": "youtube#playlistItem",
  "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/3PqM5VVO1MDpiMSOpiLQw3JCoLU\"",
  "id": "UExTbVNFYzhaNmxpcTgyT3RlcHBSbS1rb3l0ZWdhUFgyQy4wMTcyMDhGQUE4NTIzM0Y5",
  "snippet": {
    "publishedAt": "2018-05-07T17:26:13.000Z",
    "channelId": "UCuv25YFiKY3NUnuG7q7F3ng",
    "title": "أغرب الفرص الضائعة (الجولة 25) من الدوري السعودي",
    "description": "أغرب الفرص الضائعة (الجولة 25) من الدوري السعودي\n\nتابع جميع مباريات الدوري السعودي للمحترفين فقط وحصرياً عبر تطبيق دوري بلس\nhttp://www.dawriplus.com\n\nتويتر : https://twitter.com/dawriplusksa\nانستجرام : http://instagram.com/dawriplusksa\nفيسبوك : https://m.facebook.com/DawriPlusKSA/",
    "thumbnails": {
      "default": {
        "url": "https://i.ytimg.com/vi/KUzswfTBDBI/default.jpg",
        "width": 120,
        "height": 90
      },
      "medium": {
        "url": "https://i.ytimg.com/vi/KUzswfTBDBI/mqdefault.jpg",
        "width": 320,
        "height": 180
      },
      "high": {
        "url": "https://i.ytimg.com/vi/KUzswfTBDBI/hqdefault.jpg",
        "width": 480,
        "height": 360
      },
      "standard": {
        "url": "https://i.ytimg.com/vi/KUzswfTBDBI/sddefault.jpg",
        "width": 640,
        "height": 480
      },
      "maxres": {
        "url": "https://i.ytimg.com/vi/KUzswfTBDBI/maxresdefault.jpg",
        "width": 1280,
        "height": 720
      }
    },
    "channelTitle": "دوري بلس",
    "playlistId": "PLSmSEc8Z6liq82OteppRm-koytegaPX2C",
    "position": 2,
    "resourceId": {
      "kind": "youtube#video",
      "videoId": "KUzswfTBDBI"
    }
  },
  "contentDetails": {
    "videoId": "KUzswfTBDBI",
    "videoPublishedAt": "2018-04-12T12:13:21.000Z"
  }
}
]
}

我想访问所有数据..例如如何在代码段中获取标题?和默认的 url 缩略图.. 等等..

 if let videos = receivedResponse["items"] as? [[String: Any]] {
    for video in videos{
        print(video)
    }
 }

但我不知道如何获取数组中的字典..如何进一步解析它并获取json中的每个元素?

格伦

定义与您获得的数据相匹配的结构(https://app.quicktype.io是快速启动的好方法),然后用于JSONDecoder解析数据:

struct YoutubeV3 { ... }
let youtubeData = try JSONDecoder().decode(YoutubeV3.self, from: data)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

youtube数据API v3搜索

来自分类Dev

Gwt YouTube数据API v3

来自分类Dev

YouTube数据API v3搜索JSON响应改造解析错误

来自分类Dev

使用YouTube数据API v3的视频元数据

来自分类Dev

使用YouTube数据API v3的视频元数据

来自分类Dev

使用Javascript的YouTube数据API v3

来自分类Dev

无法访问YouTube数据API v3

来自分类Dev

集成YouTube数据API v3 iOS

来自分类Dev

youtube数据API v3:添加投诉

来自分类Dev

Google Youtube API V3只获取数据

来自分类Dev

使用Javascript的YouTube数据API v3

来自分类Dev

YouTube数据API v3身份验证错误

来自分类Dev

YouTube数据API v3视频上传错误

来自分类Dev

仅限 YouTube 数据 API v3 请求

来自分类Dev

如何使用YouTube数据API v3检查YouTube视频是否存在

来自分类Dev

无法使用youtube数据API v3获取youtube频道统计信息

来自分类Dev

如何通过Youtube Data API v3 / JSOUP解析获取评论?

来自分类Dev

如何通过Youtube Data API v3 / JSOUP解析获取评论?

来自分类Dev

如何将Etags用于Youtube v3数据API?

来自分类Dev

使用YouTube数据API v3从播放列表中删除视频

来自分类Dev

如何使用YouTube数据API v3获取频道中所有视频的列表?

来自分类Dev

如何使用JavaScript API V3以JSON格式获取YouTube播放列表的数据

来自分类Dev

YouTube数据API v3中是否删除了用户观看历史记录?

来自分类Dev

使用YouTube数据v3 API调用来响应本机JSON问题

来自分类Dev

如何在Java中使用v3数据Api插入YouTube频道横幅?

来自分类Dev

我订阅youtube api v3推送通知时如何接收和处理数据?

来自分类Dev

如何使用YouTube数据API(v3)查询/检索关键字

来自分类Dev

在哪里可以找到我的youtube v3数据API配额限制?

来自分类Dev

YouTube数据API(v3)搜索过滤器已损坏

Related 相关文章

  1. 1

    youtube数据API v3搜索

  2. 2

    Gwt YouTube数据API v3

  3. 3

    YouTube数据API v3搜索JSON响应改造解析错误

  4. 4

    使用YouTube数据API v3的视频元数据

  5. 5

    使用YouTube数据API v3的视频元数据

  6. 6

    使用Javascript的YouTube数据API v3

  7. 7

    无法访问YouTube数据API v3

  8. 8

    集成YouTube数据API v3 iOS

  9. 9

    youtube数据API v3:添加投诉

  10. 10

    Google Youtube API V3只获取数据

  11. 11

    使用Javascript的YouTube数据API v3

  12. 12

    YouTube数据API v3身份验证错误

  13. 13

    YouTube数据API v3视频上传错误

  14. 14

    仅限 YouTube 数据 API v3 请求

  15. 15

    如何使用YouTube数据API v3检查YouTube视频是否存在

  16. 16

    无法使用youtube数据API v3获取youtube频道统计信息

  17. 17

    如何通过Youtube Data API v3 / JSOUP解析获取评论?

  18. 18

    如何通过Youtube Data API v3 / JSOUP解析获取评论?

  19. 19

    如何将Etags用于Youtube v3数据API?

  20. 20

    使用YouTube数据API v3从播放列表中删除视频

  21. 21

    如何使用YouTube数据API v3获取频道中所有视频的列表?

  22. 22

    如何使用JavaScript API V3以JSON格式获取YouTube播放列表的数据

  23. 23

    YouTube数据API v3中是否删除了用户观看历史记录?

  24. 24

    使用YouTube数据v3 API调用来响应本机JSON问题

  25. 25

    如何在Java中使用v3数据Api插入YouTube频道横幅?

  26. 26

    我订阅youtube api v3推送通知时如何接收和处理数据?

  27. 27

    如何使用YouTube数据API(v3)查询/检索关键字

  28. 28

    在哪里可以找到我的youtube v3数据API配额限制?

  29. 29

    YouTube数据API(v3)搜索过滤器已损坏

热门标签

归档