Ich habe diesen Code:Wie analysiert man die Google Custom Search API-Antwort in Java?
public void googleSearch() throws Exception {
URL url = new URL(
"https://www.googleapis.com/customsearch/v1?key=" + key + "&cx=" + cx + "&q=" + qry + "&alt=json&queriefields=queries(request(totalResults))");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
ObjectMapper mapper = new ObjectMapper();
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
Object obj = mapper.readValue(output, Object.class);
System.out.println(obj);
}
conn.disconnect();
}
Wo Ich versuche, die JSON-Antwort von Google mit Jackson 2 zu analysieren, verwalten die Daten zurückgegeben. Ich brauche nur Bild-Links und Beschreibungen, aber ich kann überhaupt keine geparsten Daten bekommen. Ich bekomme diese Fehlermeldung, wenn ich diesen Code ausführen:
com.fasterxml.jackson.core.io.JsonEOFException: Unexpected end-of-input: expected close marker for Object (start marker at [Source: {; line: 1, column: 1])
at [Source: {; line: 1, column: 3]
Wie trenne ich die Bild-Links und Informationen, die ich brauche und machen es besser handhabbar? (Ich nehme an, indem ich den JSON in ein Java-Objekt analysiere und dann die Objektvariablen aufrufen kann, aber nicht genau weiß, wie genau)
Wie würde ich die Werte aus dem JSON abrufen? Ich habe über die Verwendung eines Schlüssels gelesen, aber ich weiß nicht, welche Schlüssel in der Google-Antwort enthalten sind. Ich habe versucht, System.out.println (map.get ("src")); Aber es druckt nur Null. – QQuestions
Drucken Sie die Karte. Es wird Ihnen sagen, welche Schlüssel und Werte es enthält –