尝试使用 youtube api 从 json 中提取视频 ID
Posted
技术标签:
【中文标题】尝试使用 youtube api 从 json 中提取视频 ID【英文标题】:trying to extract video id from json using youtube api 【发布时间】:2019-08-23 07:25:24 【问题描述】:我正在尝试从 json 中提取“videoid”(它是一个字符串) 从 youtube api 获得并希望使该“videoid”可用于另一个调用 player.loadVideo("Videoid") 我尝试过的 .java 文件 提取它但它返回 null
"kind": "youtube#searchListResponse",
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/twPDbB5irYgF-0BnQZIeukjX7k0\"",
"regionCode": "CA",
"pageInfo":
"totalResults": 1,
"resultsPerPage": 5
,
"items": [
"kind": "youtube#searchResult",
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/SmOmHZrRW-QMb9RisiuAxWDkXao\"",
"id":
"kind": "youtube#video",
<b> "videoId": "8ykDBg-b4QE"<b>
,
"snippet":
"publishedAt": "2019-03-30T11:43:48.000Z",
"channelId": "UCk4o4gWFuU2YTS50ym4RbXg",
"title": "Streaming...",
"description": "Become a sponsor: xPfsD Multistreaming with ream.io/
veraise.com/channel/622995 Donate: ...",
"thumbnails":
"default":
"url": "vi/8ykDBg-b4QE/default_live.jpg",
"width": 120,
"height": 90
,
"medium":
"url": ".ytimg.com/vi/8ykDBg-b4QE/mqdefault_live.jpg",
"width": 320,
"height": 180
,
"high":
"url": ".ytimg.com/vi/8ykDBg-b4QE/hqdefault_live.jpg",
"width": 480,
"height": 360
,
"channelTitle": "Heavenly Controller",
"liveBroadcastContent": "live"
]
JSONArray JA = new JSONArray(data);
for(int i =0 ;i <JA.length(); i++)
JSONObject JO = (JSONObject) JA.get(i);
//singleParsed = //"Name:" + JO.get("name") + "\n"+
// JO.get("videoId") + "\n"
//"Contact:" + JO.get("contact") + "\n"+
// "Country:" + JO.get("country") + "\n"
// ;
// dataParsed = dataParsed + singleParsed +"\n" ;
System.out.println(JO);
基本上期望值数据="8ykDBg-b4QE" 然后可以使用 在 player.java 中通过函数 player.loadVideo("data")
【问题讨论】:
你有做过什么解析吗? 我正在考虑提取 @talha 所做的值。 【参考方案1】:假设我们有一个用于此响应的 jsonObject。 现在根据您的 json 响应,以下代码将获取 videoId:
JSONArray jArr = jsonObject.getJSONArray("items");
for(int i =0; i < jArr.length(); i++)
// getting object from items array
JSONObject itemObj = jArr.getJSONObject(i);
// getting id object from item object
JSONObject idObj = itemObj.getJSONObject("id");
// getting videoId from idObject
String videoId = idObj.getString("videoId");
【讨论】:
以上是关于尝试使用 youtube api 从 json 中提取视频 ID的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP for 和 foreach 循环从 JSON 数据中检索视频信息时遇到问题 - YouTube API 3
如何使用 javascript API 和 json 获取 youtube 播放列表