ich mit einigem Problem mit http, Java und der Stack API verwandt bin kämpfen die folgende URL als String betrachten:Parsing Antrag als Json mit Stack API
private static final String URLSTRING_2 = "http://freegeoip.net/json/";
wenn ich diese URL in meinem Browser schreibe ich bekomme diese Antwort als json:
jetzt im mit Java und nur native Bibliotheken zu tun versuchen, dass, denn das ist das snippet unten Weichen verwende funktioniert so weit, so gut ...
Wenn ich analysieren, um die json und ich versuche, den Wert für den Schlüssel „country_name“, um dann die Schnipsel gibt als spected „Singapur“
public static void main(String[] args) throws Exception {
// Connect to the URL using java's native library
final URL url = new URL(URLSTRING_2);
final HttpURLConnection request = (HttpURLConnection) url.openConnection();
request.connect();
// Convert to a JSON object to print data
final JsonParser jp = new JsonParser(); // from gson
final JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent())); // Convert the input stream to a json
// element
final JsonObject rootobj = root.getAsJsonObject(); // May be an array, may be an object.
final String country = rootobj.get("country_name").getAsString(); // just grab the zipcode
System.out.println("country_name: " + country);
}
Meine Frage ist jetzt:
wenn ich das gleiche tun mit diesem Link https://api.stackexchange.com//2.2/users/22656?order=desc&sort=reputation&site=stackoverflow&filter=!T6oHjO_RIWkfWpoL5g
meinem Browser die folgende json ausgibt:
aber wenn ich versuche, die json ich eine Ausnahme erhalten zu analysieren, weil ich von der Anfrage bekommen dies:
ý • @ ‡ ž¼ÚRìØ1ôX` »V ± h [<- ¹ '/ + OI £ • ........
für etwas, das nicht einmal für Menschen lesbaren ...
ist wissen Sie, warum?
Vielen Dank im Voraus
Perfekt erklärt ... Danke ... –