Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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从Google图像搜索下载图像_Java_Api_Google Image Search - Fatal编程技术网

使用Java从Google图像搜索下载图像

使用Java从Google图像搜索下载图像,java,api,google-image-search,Java,Api,Google Image Search,我正在尝试编写一个Java代码,它应该可以获取google图像搜索的结果。稍后,我还想下载所有的图片从谷歌图像搜索给定的查询。现在,我已经编写了这段代码,但是当我运行它时,它给出了一个错误,即“JSONObject[“responseData”]不是JSONObject.” }` 请帮我解释一下错误是什么,因为我对Java非常陌生。回答您的问题,非常简单。你从你的客户那里得到的回应 String imageUrl = json.getJSONObject("responseData").getJ

我正在尝试编写一个Java代码,它应该可以获取google图像搜索的结果。稍后,我还想下载所有的图片从谷歌图像搜索给定的查询。现在,我已经编写了这段代码,但是当我运行它时,它给出了一个错误,即“JSONObject[“responseData”]不是JSONObject.

}`


请帮我解释一下错误是什么,因为我对Java非常陌生。

回答您的问题,非常简单。你从你的客户那里得到的回应

String imageUrl = json.getJSONObject("responseData").getJSONArray("results").getJSONObject(0).getString("url");
不是有效的JSONObject。仔细检查源代码,确保它是json响应


还请注意,您使用的API已经过时。

这是因为该API已被弃用,因此JSONObject[“resultData”]返回空值

要确认这一点,只需输入您的搜索URL(?)+ “v=1.0&q=barack%20obama&userip=INSERT-USER-IP)插入浏览器的顶部栏,然后用谷歌搜索。你会发现谷歌不再提供图像的数据


据我所知,目前还没有一个很好的替代品,尽管我听说Google Custom Search()可以工作(尽管你每天只能得到100个免费查询,之后必须付费)。

但是上面的api只返回JSON格式的结果。还有,还有其他的图像搜索方法吗?你的编译器说你的错误是响应不是json(例如缺少一个右括号或其他东西)。。我不做谷歌API的那一面,所以我不能帮你。
String imageUrl = json.getJSONObject("responseData").getJSONArray("results").getJSONObject(0).getString("url");