Я пытаюсь написать код Java, который должен отображать результаты поиска изображений Google. Позже я также хочу загрузить все изображения из поиска Google Image с учетом запроса. Прямо сейчас, я написал этот код, но когда я запускаю его, он дает ошибку, что «JSONObject [» responseData «] не JSONObject.»Загрузка изображений из поиска изображений Google с использованием Java
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import com.fasterxml.jackson.core.JsonParser;
import twitter4j.JSONObject;
public class TestImage {
public static void main(String[] args)
{
try
{
URL url = new URL("https://ajax.googleapis.com/ajax/services/search/images?" +
"v=1.0&q=barack%20obama&userip=INSERT-USER-IP");
URLConnection connection = url.openConnection();
connection.addRequestProperty("Referer", "");
String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while((line = reader.readLine()) != null)
{
builder.append(line);
}
JSONObject json = new JSONObject(builder.toString());
String imageUrl = json.getJSONObject("responseData").getJSONArray("results").getJSONObject(0).getString("url");
// JsonParser jsonParser = new JsonParser();
//((Object) jsonParser).parse(json).getAsJsonObject();
BufferedImage image = ImageIO.read(new URL(imageUrl));
JOptionPane.showMessageDialog(null, "", "", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(image));
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e.getMessage(), "Failure", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
} `
Пожалуйста, помогите я с какой ошибкой, поскольку я очень новичок в Java.
Но вышеприведенный api возвращает результат только в формате JSON. Кроме того, есть ли альтернативы для поиска изображений? –
Ваш компилятор говорит, что ваша ошибка заключается в том, что ответ не json (например, отсутствует закрывающая скобка или что-то еще). Я не делаю эту сторону API Google, поэтому я не могу вам помочь. – Verzlo