从JSONObject获取Youtube标题到String

时间:2017-07-19 02:41:02

标签: java json youtube

我需要获取Youtube视频的标题,但我似乎无法理解如何从方法中获取JSONObject并进入字符串。

public static String getTitleQuietly(String youtubeUrl) {
    try {
        if (youtubeUrl != null) {
            URL embededURL = new URL("http://www.youtube.com/oembed?url=" +
                    youtubeUrl + "&format=json"
            );

            return new JSONObject(IOUtils.toString(embededURL)).getString("title");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

我尝试过:

String x = getTitleQuietly("https://www.youtube.com/watch?v=4fkcTA7YX44");
            Toast.makeText(PostingGBDTutorial.this, x, Toast.LENGTH_SHORT).show();

将字符串参数切换为www.youtube.com/watch?v=4fkcTA7YX44,甚至是视频的最后11个字符:4fkcTA7YX44

但没有出现。

Where i discovered the code

1 个答案:

答案 0 :(得分:-1)

有一个工具组合用于调用API并将JSON响应转换为Java对象:Retrofit 2和jsonschema2pojo。

http://www.jsonschema2pojo.org

http://square.github.io/retrofit/

我不会在这里详细介绍如何使用它们,但有几个关键步骤......

  1. 为每个API调用创建一个界面
  2. 使用Retrofit库实例化界面
  3. 使用jsonschema2pojo生成pojo对象以进行反序列化
  4. 在您的界面中调用该方法,并在回调中检索反序列化的对象。
  5. 祝你好运!