Convert java object to JSON string and pretty print Json in java - using Jackson



Maven dependency -

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
Or Download - bundle (1.3 MB) 

If you are beginner don't worry learn how to Create new Maven project - In 2 minutes

Convert java object to JSON string and pretty print Json in java - using Jackson Api


import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

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

public class ConvertJavaObjectToJson {

    public static void main(String[] args) {
          try {
                 ObjectMapper objectMappernew ObjectMapper();

                 List<String> addesssnew ArrayList<>();
                 addesss.add("Paris");
                 addesss.add("London");
                
                 Employee employeenew Employee(11, "Ankit"addesss);

                 // Convert java object to JSON string
                 String jsonInStringobjectMapper.writeValueAsString(employee);
                 System.out.println(jsonInString);

                 // pretty print - Convert java object to JSON string
                 String jsonInStringPrettyobjectMapper.
                       writerWithDefaultPrettyPrinter().writeValueAsString(employee);
                 System.out.println(jsonInStringPretty);

          catch (JsonGenerationException e) {
                 e.printStackTrace();
          catch (JsonMappingException e) {
                 e.printStackTrace();
          catch (IOException e) {
                 e.printStackTrace();
          }
    }

}

//output
/*
{"empId":11,"name":"Ankit","address":["Paris","London"]}
{
"empId" : 11,
"name" : "Ankit",
"address" : [ "Paris", "London" ]
}

*/


Employee class


import java.util.List;

public class Employee {

    //Fields
    private int empId;
    private String name;
    private List<String> address;
   
    public Employee() {
          super();
    }
   
    public Employee(int empId, String name, List<String> address) {
          super();
          this.empIdempId;
          this.namename;
          this.addressaddress;
    }
   
    @Override
    public String toString() {
          return "Employee [empId="empId", name="name", address="address"]";
    }
   

    //Setter and getters
    public int getEmpId() {
          return empId;
    }
    public void setEmpId(int empId) {
          this.empIdempId;
    }
    public String getName() {
          return name;
    }
    public void setName(String name) {
          this.namename;
    }
    public List<String> getAddress() {
          return address;
    }
    public void setAddress(List<String> address) {
          this.addressaddress;
    }

}


Related links >

1. Jackson JSON -

We can use Jackson api for for processing JSON in java.

Jackson JSON examples


2. Java provides API (JSR 353) for Processing  JSON (JSR 353).
It provides -
  • Object Model API
  • Streaming API

Java API for JSON processing examples >



3. Simple  (simple.JSONObject)



4. Google Gson - processing java json


eEdit
Must read for you :