попытка извлечь идентификатор видео из json с помощью youtube api

#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"); 
    }