Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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
Java 如何为Bing搜索API解析这个JSON对象_Java_Json_Bing Api - Fatal编程技术网

Java 如何为Bing搜索API解析这个JSON对象

Java 如何为Bing搜索API解析这个JSON对象,java,json,bing-api,Java,Json,Bing Api,我有一个Bing搜索API结果的JSON对象,其结构如下: {"d": {"results":[ {"__metadata":{"uri":"***","type":"***"},"ID":"***","Title":"***","Description":"***","DisplayUrl":"***","Url":"***"}, //repeated for 50 array items ] ,"__next":https://api.datamarket.azure.com/

我有一个Bing搜索API结果的JSON对象,其结构如下:

{"d":
{"results":[
{"__metadata":{"uri":"***","type":"***"},"ID":"***","Title":"***","Description":"***","DisplayUrl":"***","Url":"***"},

//repeated for 50 array items

     ]
,"__next":https://api.datamarket.azure.com/Data.ashx/Bing/Search/Web?Query=\u0027microsoft\u0027&$skip=50"}}

}
}
我可以解析50个数组项以获得搜索结果URL。但这只是Bing搜索结果的第一页。我想得到所有页面中的搜索结果URL。我有几个问题,但都是同一个问题

1) 如何循环搜索结果页面?有什么方法可以从Bing JSON对象获得结果的数量吗? 2) 我怎么知道我读到了最后一页? 3) 如何获取最后一个JSON对象,即:

"__next":https://api.datamarket.azure.com/Data.ashx/Bing/Search/Web?Query=\u0027microsoft\u0027&$skip=50"}}

我确实可以提取URL,但我不知道如何迭代Bing搜索结果页面以及如何提取最后一项。请重读我的问题,为什么不呢?看起来您的意图是对该URL进行一个新的RESTful调用,并获取接下来的50个结果。如果您想获得更多结果,我会在API中寻找一种方法,一次获得更多结果。@user2192774,对不起,我只阅读了标题。@Gimby Bing最多允许50个结果/页。如果我想对每个页面进行另一个RESTful调用,我希望以编程方式进行。那么,我如何知道我有多少页面,所以我重复这个调用作为页面数。如果您使用一个普通的JSON库,不尝试返回完全格式的“POJO”,那么您将把JSON解析成一个映射和列表的“树”(尽管给定的API可能有自己的映射和列表类)。从树的“根”导航到URL列表或任何内容,然后遍历该列表,这是一件简单的事情。如果您需要知道列表中有多少元素,只需询问即可。