Contents
Maven dependencies
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.10.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.11.1</version> </dependency>
Convert Object to Json
Core Logic
package jsondemo; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class JavaToJSONExample { public static void main(String[] args) { List<City> cityList = new ArrayList<>(); cityList.add(new City("LA","CA")); cityList.add(new City("NY","NY")); @SuppressWarnings("deprecation") Employee employee = new Employee(1, "Andrew Programming", new long[]{1234123, 4123123}, new Address("california"), cityList, "Manager", false); ObjectMapper mapper = new ObjectMapper(); try { mapper.writeValue(new File("employee.json"), employee); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Employee.java
package jsondemo; import java.util.Arrays; import java.util.List; public class Employee { private int id; private String name; private long[] number; private Address address; private List<City> cityList; private String Role; private boolean contractor; public Employee() { } public Employee(int id, String name, long[] number, Address address, List<City> cityList, String role, boolean contractor) { this.id = id; this.name = name; this.number = number; this.address = address; this.cityList = cityList; Role = role; this.contractor = contractor; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public long[] getNumber() { return number; } public void setNumber(long[] number) { this.number = number; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public List<City> getCityList() { return cityList; } public void setCityList(List<City> cityList) { this.cityList = cityList; } public String getRole() { return Role; } public void setRole(String role) { Role = role; } public boolean isContractor() { return contractor; } public void setContractor(boolean contractor) { this.contractor = contractor; } @Override public String toString() { return "Employee{" + "id=" + id + ", name='" + name + '\'' + ", number=" + Arrays.toString(number) + ", address=" + address + ", cityList=" + cityList + ", Role='" + Role + '\'' + ", contractor=" + contractor + '}'; } }
Address.java
package jsondemo; public class Address { public Address() { } public Address(String location) { this.location = location; } private String location; public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } @Override public String toString() { return "Address{" + "location='" + location + '\'' + '}'; } }
City.java
package jsondemo; public class City { private String name; private String province; public City() { } public City(String name, String province) { this.name = name; this.province = province; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } @Override public String toString() { return "City{" + "name='" + name + '\'' + ", province='" + province + '\'' + '}'; } }
Output
{ "id": 1, "name": "Andrew Programming", "number": [ 1234123, 4123123 ], "address": { "location": "california" }, "cityList": [ { "name": "LA", "province": "CA" }, { "name": "NY", "province": "NY" } ], "contractor": false, "role": "Manager" }
Convert json to java object
package jsondemo; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File; import java.io.IOException; public class JSONToJavaExample { public static void main(String[] args) { Employee employee = null; ObjectMapper mapper = new ObjectMapper(); try { employee = mapper.readValue(new File("employee.json"), Employee.class); System.out.println(employee); } catch (JsonGenerationException e) { } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }