Hiển thị kết quả từ 1 đến 4 / 4
  1. #1
    Tham gia
    09-01-2010
    Location
    HCM
    Bài viết
    124
    Like
    23
    Thanked 15 Times in 12 Posts

    Giận dữ ! [Java] Hỏi về cách lấy thuộc tính từ chuỗi Json API của Youtube

    Mình làm 1 ứng dụng nhỏ là load các video của 1 playlist và title của video lên 1 listview trong android. Để khi click vào mỗi items đó thì video sẽ bung ra.

    Mình muốn lấy các thuộc tính của chuỗi json như link: https://www.googleapis.com/youtube/v...ioRyvr8koUY6rk

    Mình muốn lấy ra các thuộc tính:
    Code:
    "items":[
    {
    snippet
    {
             title, 
             thumbnails -> default {url, width, height},
             resourceId
             {
                     videoId": "yjmp8CoZBIo,
             }
    }
    Đó là các thuộc tính mình muốn lấy trong mỗi item snippet.

    Đoạn code để parse của mình như sau:

    MainJava. Mình làm chưa ra do mình không biết parse json ở hàm này. Mọi người giúp mình review cái hàm này với ạ.
    Code:
    protected Void doInBackground(Void... params) 
    {
    	URL jsonURL;
    	URLConnection jc;
    	try
    	{
    		jsonURL = new URL("https://www.googleapis.com/youtube/v3/playlistItems…" + "UUbW18JZRgko_mOGm5er8Yzg" + "&key=AIzaSyC2fE273wmaEev3NrclEioRyvr8koUY6rk");
    		Log.d("aip", ""+jsonURL+"");
    		jc = jsonURL.openConnection(); 
    		InputStream is = jc.getInputStream();
    		//doc du lieu
    		BufferedReader reader= new BufferedReader(new InputStreamReader(is,"UTF-8"),8);//iso-8859-1
    		StringBuilder sb=new StringBuilder();
    		String line=null;
    		while((line=reader.readLine())!=null) 
    		{
    			sb.append(line+"\n");
    		}
    		is.close();
    		String jsonTxt=sb.toString(); //doc StringBuilder vao chuoi
    		Log.d("jsonTxt length: ", jsonTxt.length() + " dòng.");
    		Log.d("jsonTxt",""+jsonTxt+"");
    		JSONObject jj = new JSONObject(jsonTxt);
    		Log.d("jj",""+jj+"");
    		JSONObject jdata = jj.getJSONObject("items");
    		Log.d("jdata",""+jdata+"");
    		JSONArray aitems = jdata.getJSONArray("snippet");
    		Log.d("aitems",""+aitems+"");
    		for (int i=0;i<aitems.length();i++)
    		{
    			JSONObject item = aitems.getJSONObject(i); 
    			String title = item.getString("title");
    			Log.d("item",""+item+"");
    			Log.d("title",title);
    			JSONObject video = item.getJSONObject("resourceId"); 
    			String link = video.getString("videoId");
    
    			JSONObject thumbnail = item.getJSONObject("thumbnails");
    			String thumbnailUrl = thumbnail.getString("default");
    			Log.d("url", thumbnailUrl);
    			Log.d("link", link);
    			Log.d("title", title);
    			HashMap<String,String> hashmap=new HashMap<String,String>();
    			hashmap.put("title",title);
    			hashmap.put("thumbnailUrl", thumbnailUrl);
    			//hashmap.put("length",length);
    			hashmap.put("link",link);
    			menuitems.add(hashmap);
    			//lay hinh bo vao mang hinh truoc, khong doi den getView duoc
    			URL url = new URL(thumbnailUrl);
    			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    			InputStream ishinh = connection.getInputStream();
    			Bitmap img = BitmapFactory.decodeStream(ishinh);
    			manghinh.add(img);
    			Log.d("dulieu", title);
    			Log.d("duongdan",link);
    			Log.d("hinh",thumbnailUrl);
    		}
    	} 
    	catch (Exception e) 
    	{
    		e.printStackTrace();
    		Log.d("loi", e.toString());
    	} 
    	return null;
    }
    Giúp mình với ạ!!!!!!!!
    Được sửa bởi luong.minhson lúc 13:11 ngày 31-10-2016
    GÀ mờ học đòi
    Quote Quote

  2. #2
    Tham gia
    09-01-2010
    Location
    HCM
    Bài viết
    124
    Like
    23
    Thanked 15 Times in 12 Posts
    Mình đã lấy được các giá trị này. Items là 1 JSONArray, snippet là 1 JSONObject và "title" là 1 thuộc tính trong Object snippet, sau đó thumbnails, resourceId cũng là 1 JSONObject. Lấy theo từng phần như vậy là dc.
    GÀ mờ học đòi

  3. #3
    Tham gia
    17-10-2008
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn có thể dùng thư viện Jackson rất mạnh để xử lý json trong java

  4. #4
    Tham gia
    20-09-2017
    Bài viết
    62
    Like
    0
    Thanked 6 Times in 6 Posts
    Đó là các thuộc tính mình muốn lấy trong mỗi item snippet.

    Đoạn code để parse của mình như sau:

    MainJava. Mình làm chưa ra do mình không biết parse json ở hàm này. Mọi người giúp mình review cái hàm này với ạ.

Tags for this Thread

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •