How to ignore empty or null values in JSON 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


How to ignore empty values in JSON java - Jackson API

@JsonInclude(Include.NON_NULL)
It will exclude null values.


How to ignore null values in JSON java - Jackson API

@JsonInclude(Include.NON_EMPTY)
It will exclude empty values.


Employee class

import java.util.List;
@JsonInclude(Include.NON_NULL)
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.empId = empId;
         this.name = name;
         this.address = address;
   }
  
   @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.empId = empId;
   }
   public String getName() {
         return name;
   }
   public void setName(String name) {
         this.name = name;
   }
   public List<String> getAddress() {
         return address;
   }
   public void setAddress(List<String> address) {
         this.address = address;
   }
}


How to ignore empty or null values in JSON java

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.ankit.json.Employee;
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 objectMapper = new ObjectMapper();
                List<String> addesss = new ArrayList<>();
                addesss.add("Paris");
                addesss.add("London");
               
                Employee employee = new Employee(11, null, addesss);
                                               //Now, name won’t be in JSON
                // Convert java object to JSON string
                String jsonInString = objectMapper.writeValueAsString(employee);
                System.out.println("jsonInString = "+jsonInString);
                // pretty print - Convert java object to JSON string
                String jsonInStringPretty = objectMapper.
                       writerWithDefaultPrettyPrinter().writeValueAsString(employee);
                System.out.println("\njsonInStringPretty = "+jsonInStringPretty);
         } catch (JsonGenerationException e) {
                e.printStackTrace();
         } catch (JsonMappingException e) {
                e.printStackTrace();
         } catch (IOException e) {
                e.printStackTrace();
         }
   }
}
//output
/*
jsonInString = {"empId":11,"address":["Paris","London"]}

jsonInStringPretty = {
 "empId" : 11,
 "address" : [ "Paris", "London" ]
}



*/


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 :