如何在这个Json - JAVA中访问以下属性

时间:2017-04-11 12:19:09

标签: java json

我有以下代码来获取此URl中的JSON:

https://www.googleapis.com/youtube/v3/search?key=AIzaSyCg3WitBUQl5ifC2QygQaZUPOSRMKfSD5E&channelId=UCPSDAF3Htm3AIxw4OUM3Lew&part=snippet,id&order=date&maxResults=20

我可以接受这个名词" nextPageToken"并使用以下代码获取您的价值:

JSONObject json = readJsonFromUrl(
                "https://www.googleapis.com/youtube/v3/search?key=AIzaSyCg3WitBUQl5ifC2QygQaZUPOSRMKfSD5E&pageToken="
                        + nextPageToken + "&channelId=" + new GetListAndPLayListYoutube().getIdUsuario()
                        + "&part=snippet,id&order=date&maxResults=50");

        System.out.println(json.get("nextPageToken"));

但是我尝试了Acess" items"什么是" videoId"并获取videoId的值,但不起作用,如何获取videoId的值

2 个答案:

答案 0 :(得分:2)

尝试以下代码从videoid字符串中获取json

json方法传递parseJson()字符串对象:

 private void parseJson(String responseString){
        try {

            Object object = new JSONTokener(responseString).nextValue();
            if (object instanceof JSONObject) {
                JSONObject jsonObject = (JSONObject) object;
                JSONArray jsonArray = jsonObject.getJSONArray("items");

                for (int i = 0; i < jsonArray.length(); i++) {
                    Object object1  = jsonArray.getJSONObject(i);
                    if (object1 instanceof JSONObject) {
                        JSONObject jsonObject1 = (JSONObject) object1;
                        JSONObject jsonObject2= jsonObject1.optJSONObject("id");
                        String videoId = jsonObject2.optString("videoId");
                        System.out.println("videoId=" + videoId);
                    }
                }

            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

答案 1 :(得分:0)

您好像查询Youtube的Search API并从响应中提取结果。在这种情况下,我建议使用Google的API客户端库(here)代替Java,而不是编写自己的实现。

Here是如何使用Google的API客户端搜索Youtube并检索视频信息的一些示例。