使用Java从Google图像搜索下载图像
我正在尝试编写一个Java代码,它应该可以获取google图像搜索的结果。稍后,我还想下载所有的图片从谷歌图像搜索给定的查询。现在,我已经编写了这段代码,但是当我运行它时,它给出了一个错误,即“JSONObject[“responseData”]不是JSONObject.” }`使用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非常陌生。回答您的问题,非常简单。你从你的客户那里得到的回应
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");