Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问此Json-JAVA中的以下属性_Java_Json - Fatal编程技术网

如何访问此Json-JAVA中的以下属性

如何访问此Json-JAVA中的以下属性,java,json,Java,Json,我有以下代码可以获取此URl中的JSON: https://www.googleapis.com/youtube/v3/search?key=AIzaSyCg3WitBUQl5ifC2QygQaZUPOSRMKfSD5E&channelId=UCPSDAF3Htm3AIxw4OUM3Lew&part=snippet,id&order=date&maxResults=20 我可以访问适当的“nextPageToken”,并通过以下代码获取您的值: JSONObje

我有以下代码可以获取此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"));

但我尝试访问“items”中的属性,即“videoId”,并获取videoId的值,但不起作用,如何获取videoId的值呢?看起来您正在查询Youtube的
搜索API
,并从响应中提取结果。在这种情况下,我建议使用Google的API客户端库()来实现
Java
,而不是编写自己的实现


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

请尝试下面的代码,从
json
字符串获取
videoid

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

 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();
        }

    }
private void parseJson(字符串响应字符串){
试一试{
Object Object=newJSONtokener(responseString).nextValue();
if(JSONObject的对象实例){
JSONObject JSONObject=(JSONObject)对象;
JSONArray JSONArray=jsonObject.getJSONArray(“项”);
for(int i=0;i
Jose,你到底有什么问题?您解析响应中的“nextPageToken”,并将其与URL一起附加以加载下一页。我的确切问题是如何访问此json中videoId的值,是的,我附加nextPageToken以加载下一页它的工作!我对JSON知之甚少,我将进一步研究JSON