Je me bats avec un certain problème lié à http, java et l'API StackExchange considèrent l'adresse suivante en tant que chaîne:Parsing Demande JSON avec API StackExchange
private static final String URLSTRING_2 = "http://freegeoip.net/json/";
si j'écris cette url dans mon navigateur je reçois cette réponse comme JSON:
maintenant im essayant de le faire avec java et seulement libs indigènes, pour que je les utilise l'extrait ci-dessous Wich travaille à ce jour si bon ...
Si je parser le JSON et je tente d'obtenir la valeur de la clé « country_name » puis les imprime snippet comme spected « Singapour »
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);
}
Ma question:
si je faire la même chose avec ce lien https://api.stackexchange.com//2.2/users/22656?order=desc&sort=reputation&site=stackoverflow&filter=!T6oHjO_RIWkfWpoL5g
mon navigateur affiche le JSON suivant:
mais si je tente d'analyser le JSON je reçois une exception parce que je reçois de la demande ceci:
ý • @ ‡ ž¼ÚRìØ1ôX` »v ± h [<- ¹ '/ + Oi £ • ........
pour quelque chose qui est même pas lisible par l'homme ...
savez-vous pourquoi?
Merci à l'avance
Parfaitement expliqué ... merci ... –