user1375026 user1375026 - 6 months ago 18x
Java Question

Java HttpURLConnection Returns JSON

I'm trying to make a http get request which returns a json response. I need some of the values from the json response to be stored in my session. I have this:

public String getSessionKey(){
BufferedReader rd = null;
StringBuilder sb = null;
String line = null;
try {
URL url = new URL(//url here);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
sb = new StringBuilder();

while ((line = rd.readLine()) != null)
sb.append(line + '\n');
return sb.toString();

} catch (MalformedURLException e) {
} catch (ProtocolException e) {
} catch (IOException e) {

return "";

This returns the JSON in a string:

{ "StatusCode": 0, "StatusInfo": "Processed and Logged OK", "CustomerName": "Mr API"}

I need to store StatusCode and CustomerName in the session. How do I deal with returning JSON with java?



You can use Gson. Here is the code to help you:

Map<String, Object> jsonMap;  
Gson gson = new Gson();  
Type outputType = new TypeToken<Map<String, Object>>(){}.getType();  
jsonMap = gson.fromJson("here your string", outputType);

Now you know how to get from and put those in session. You need to include Gson library in classpath.