#android #json #youtube-api
#Android #json #youtube-api
Вопрос:
Я пытаюсь извлечь «videoid» (который представляет собой строку) из json, полученного из youtube api, и хочу сделать этот «videoid» доступным для другого файла .java, который вызывает player.loadVideo («Videoid») Я пытался извлечь его, но он возвращает 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);
в основном ожидается значение data =»8ykDBg-b4QE», которое затем можно использовать
внутри player.java с помощью функции player.loadVideo(«данные»)
Комментарии:
1. Вы сделали что-нибудь для его анализа?
2. я думал извлечь значение, как это сделал @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");
}