Skip to content

Instantly share code, notes, and snippets.

@jx13xx
Last active August 2, 2020 15:05
Show Gist options
  • Save jx13xx/278ff3162e484d8c8f1d3db784850b68 to your computer and use it in GitHub Desktop.
Save jx13xx/278ff3162e484d8c8f1d3db784850b68 to your computer and use it in GitHub Desktop.
Fetctching API response from http://api.ipinfodb.com and converting them to Java Objects. Similiar strategy can be used for other APIs, also includes the implementation of POJO classes (Getters & Setters method)

Fetctching API response from http://api.ipinfodb.com and converting them to Java Objects. Similiar strategy can be used for other APIs, also includes the implementation of POJO classes (Getters & Setters method)

JAR Files Used

  • fastjson-1.2.73
package com.company;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class APIFunctions {
public static String ip = "94.200.55.38";
public static String key = "9ceb467edd24cf7985f97e1e931af3eb9aca5cf63143ef09e442c188e0b7082f";
public static String url;
static {
url = "http://api.ipinfodb.com/v3/ip-city/?key=" + key + "&ip=" + ip + "&format=json";
}
public APIFunctions() {
}
public static void MyGETRequest() throws IOException {
URL urlForGetRequest = new URL(url);
String readLine = null;
HttpURLConnection conection = (HttpURLConnection)urlForGetRequest.openConnection();
conection.setRequestMethod("GET");
int responseCode = conection.getResponseCode();
if (responseCode == 200) {
BufferedReader in = new BufferedReader(new InputStreamReader(conection.getInputStream()));
StringBuffer response = new StringBuffer();
while((readLine = in.readLine()) != null) {
response.append(readLine);
}
in.close();
System.out.println("API Response " + response.toString());
} else {
System.out.println("GET NOT WORKED");
}
}
public static void Convert_JSON() throws JsonGenerationException, JsonMappingException, IOException {
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection)obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuffer response = new StringBuffer();
String inputLine;
while((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
new jsonPojo();
jsonPojo instanceOfPojo = (jsonPojo)JSON.parseObject(response.toString(), jsonPojo.class);
System.out.println("-------Afer converting to java object-------------------");
System.out.println("statusCode --" + instanceOfPojo.getStatusCode());
System.out.println("ipAddress --" + instanceOfPojo.getIpAddress());
System.out.println("countryCode --" + instanceOfPojo.getCountryCode());
System.out.println("countryName --" + instanceOfPojo.getCountryName());
System.out.println("regionName --" + instanceOfPojo.getRegionName());
System.out.println("cityName --" + instanceOfPojo.getCityName());
System.out.println("zipCode --" + instanceOfPojo.getZipCode());
System.out.println("latitude --" + instanceOfPojo.getLatitude());
System.out.println("longitude --" + instanceOfPojo.getLongitude());
}
}
package com.company;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
public class jsonPojo {
private String statusMessage;
private String ipAddress;
private String countryCode;
private String countryName;
private String regionName;
private String cityName;
private String zipCode;
private String longitude;
private String latitude;
private String timezone;
private String statusCode;
public jsonPojo() {
}
public String getStatusCode() {
return this.statusCode;
}
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
public String getStatusMessage() {
return this.statusMessage;
}
public void setStatusMessage(String statusMessage) {
this.statusMessage = statusMessage;
}
public String getIpAddress() {
return this.ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public String getCountryCode() {
return this.countryCode;
}
public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}
public String getCountryName() {
return this.countryName;
}
public void setCountryName(String countryName) {
this.countryName = countryName;
}
public String getRegionName() {
return this.regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
public String getCityName() {
return this.cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public String getZipCode() {
return this.zipCode;
}
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
public String getLongitude() {
return this.longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getLatitude() {
return this.latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getTimezone() {
return this.timezone;
}
public void setTimezone(String timezone) {
this.timezone = timezone;
}
}
package com.company;
public class Main {
public static void main(String[] args) {
// write your code here
try {
new APIFunctions();
APIFunctions.Convert_JSON();
} catch (Exception var2) {
System.out.println(var2);
}
}
}
"C:\Program Files\Java\jdk1.8.0_261\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2\lib\idea_rt.jar=49645:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_261\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\rt.jar;D:\Work\TPTechnologies\Working Projects\out\production\Working Projects;D:\Work\TPTechnologies\Java Patterns\Airline Shipping -20200801T163431Z-001\Airline Shipping\JAR Files\ALL\fastjson-1.2.73.jar;D:\Work\TPTechnologies\Java Patterns\Airline Shipping -20200801T163431Z-001\Airline Shipping\JAR Files\ALL\javax.xml-1.3.4.jar;D:\Work\TPTechnologies\Java Patterns\Airline Shipping -20200801T163431Z-001\Airline Shipping\JAR Files\ALL\com.fasterxml.jackson.core.jar;D:\Work\TPTechnologies\Java Patterns\Airline Shipping -20200801T163431Z-001\Airline Shipping\JAR Files\ALL\com.fasterxml.jackson.databind.jar" com.company.Main
{ "statusCode" : "OK", "statusMessage" : "", "ipAddress" : "xx", "countryCode" : "AE", "countryName" : "United Arab Emirates", "regionName" : "Dubayy", "cityName" : "Dubai", "zipCode" : "-", "latitude" : "xxx", "longitude" : "xx", "timeZone" : "+04:00"}
-------Afer converting to java object-------------------
statusCode --OK
ipAddress --xxxxxxx
countryCode --AE
countryName --United Arab Emirates
regionName --Dubayy
cityName --Dubai
zipCode ---
latitude --xxxxxx
longitude --xxxxxx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment