JAVA-Send URL HTTP Request and Read JSON Response
In this video I have shown how to send a URL HTTP request using JAVA.
For testing I used a site http://fixer.io/ through which we can send URL request and get JSON response of current currency rate.
To read json Response you will have to add java-jason.jar to class path.
1. The JSON Response through browser.
2. Formatted JSON response.
{ "base": "EUR", "date": "2017-09-29", "rates": { "AUD": 1.5075, "BGN": 1.9558, "BRL": 3.7635, "CAD": 1.4687, "CHF": 1.1457, "CNY": 7.8534, "CZK": 25.981, "DKK": 7.4423, "GBP": 0.88178, "HKD": 9.2214, "HRK": 7.495, "HUF": 310.67, "IDR": 15889.0, "ILS": 4.1591, "INR": 77.069, "JPY": 132.82, "KRW": 1351.8, "MXN": 21.461, "MYR": 4.9827, "NOK": 9.4125, "NZD": 1.6354, "PHP": 60.05, "PLN": 4.3042, "RON": 4.5993, "RUB": 68.252, "SEK": 9.649, "SGD": 1.6031, "THB": 39.338, "TRY": 4.2013, "USD": 1.1806, "ZAR": 15.944 } }
3.Test_URL_Req.java without URL Parameters
package URL_Req;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONObject;
public class Test_URL_Req {
public static void main(String[] args) {
try {
String url = "http://api.fixer.io/latest";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
int responseCode = con.getResponseCode();
System.out.println("\nSending 'GET' request to URL : " + url);
System.out.println("Response Code : " + responseCode);
BufferedReader in =new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
} in .close();
//print in String
// System.out.println(response.toString());
JSONObject myresponse = new JSONObject(response.toString());
System.out.println(myresponse);
System.out.println("base -" + myresponse.getString("base"));
System.out.println("date -" + myresponse.getString("date"));
JSONObject rates_object = new JSONObject(myresponse.getJSONObject("rates").toString());
System.out.println("rates -" + rates_object);
System.out.println("AUD -" + rates_object.getDouble("AUD"));
System.out.println("BGN -" + rates_object.getDouble("BGN"));
System.out.println("BRL -" + rates_object.getDouble("BRL"));
System.out.println("CAD -" + rates_object.getDouble("CAD"));
} catch(Exception e) {
System.out.println(e);
}
}
}
Console OutPut
Sending 'GET' request to URL : http://api.fixer.io/latest
Response Code : 200
{"base":"EUR","rates":{"CNY":7.8534,"JPY":132.82,"CZK":25.981,"RON":4.5993,"MXN":21.461,"CAD":1.4687,"ZAR":15.944,"AUD":1.5075,"NZD":1.6354,"GBP":0.88178,"ILS":4.1591,"NOK":9.4125,"CHF":1.1457,"RUB":68.252,"INR":77.069,"THB":39.338,"IDR":15889,"TRY":4.2013,"SGD":1.6031,"HKD":9.2214,"HRK":7.495,"DKK":7.4423,"SEK":9.649,"MYR":4.9827,"BRL":3.7635,"BGN":1.9558,"HUF":310.67,"PHP":60.05,"PLN":4.3042,"USD":1.1806,"KRW":1351.8},"date":"2017-09-29"}
base -EUR
date -2017-09-29
rates -{"JPY":132.82,"CNY":7.8534,"RON":4.5993,"CZK":25.981,"MXN":21.461,"CAD":1.4687,"NZD":1.6354,"AUD":1.5075,"ZAR":15.944,"GBP":0.88178,"NOK":9.4125,"ILS":4.1591,"CHF":1.1457,"RUB":68.252,"INR":77.069,"THB":39.338,"IDR":15889,"TRY":4.2013,"SGD":1.6031,"HKD":9.2214,"HRK":7.495,"DKK":7.4423,"SEK":9.649,"MYR":4.9827,"BRL":3.7635,"BGN":1.9558,"PHP":60.05,"HUF":310.67,"PLN":4.3042,"USD":1.1806,"KRW":1351.8}
AUD -1.5075
BGN -1.9558
BRL -3.7635
CAD -1.4687
4.Test_URL_Req.java with URL Parameters.
String url = "http://api.fixer.io/latest?base=USD";
If you have more URL Parameters you can pass like,
String url = "http://api.fixer.io/latest?base=USD¶meter1=value1¶meter2=value2";
0 Comments
Comments
Leave a Comment