Categories
Java Java-Json binding by Jackson

Binding JSON to POJO

We will see simple Java class Employee being transformed to and from JSON String.

Following is project structure generated by Maven

Following is POM.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>custom.jackson</groupId>
  <artifactId>learning</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>learning</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
	      <groupId>junit</groupId>
	      <artifactId>junit</artifactId>
	      <version>3.8.1</version>
	      <scope>test</scope>
    </dependency>
    <dependency>
	    <groupId>com.fasterxml.jackson.core</groupId>
	    <artifactId>jackson-core</artifactId>
	    <version>2.12.3</version>
   </dependency>
   <dependency>
	    <groupId>com.fasterxml.jackson.core</groupId>
	    <artifactId>jackson-databind</artifactId>
	    <version>2.12.3</version>
	</dependency>
	<dependency>
	    <groupId>com.fasterxml.jackson.core</groupId>
	    <artifactId>jackson-annotations</artifactId>
	    <version>2.12.3</version>
	</dependency>
  </dependencies>
</project>


Bean class Employee.java

package custom.jackson.learning;

public class Employee {

	private String firstName;
	private String lastName;
	private boolean isCertified;
	private int age;
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public boolean isCertified() {
		return isCertified;
	}
	public void setCertified(boolean isCertified) {
		this.isCertified = isCertified;
	}
	@Override
	public String toString() {
		return "Employee [firstName=" + firstName + ", lastName=" + lastName + ", isCertified=" + isCertified + ", age="
				+ age + "]";
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	
}


package custom.jackson.learning;

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
    		      ObjectMapper mapper = new ObjectMapper();
    		      String jsonString = "{\"firstName\":\"Suresh\", \"lastName\":\"Rana\", \"certified\":\"true\", \"age\":21}";
    		      
    		      try{
    		    	  
    		    	 //Transform JSON to Employee Object
    		         Employee employee_Suresh = mapper.readValue(jsonString, Employee.class);
    		         
    		         System.out.println("print Java object");
    		         System.out.println(employee_Suresh);
    		         
    		         //Transform Employee object to JSON
    		         jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(employee_Suresh);
    		         
    		         System.out.println("print json converted string");
    		         System.out.println(jsonString);
    		      }
    		      catch (JsonParseException e) { e.printStackTrace();}
    		      catch (JsonMappingException e) { e.printStackTrace(); }
    		      catch (IOException e) { e.printStackTrace(); }
    }
}

Output

Leave a comment

Design a site like this with WordPress.com
Get started