Gson by default does not serialize fields with null values to JSON. If a field in a Java object is null, Gson excludes it. We can force Gson to serialize null values via the GsonBuilder by using serializeNulls() method.
Gson is a Java serialization/deserialization library to convert Java Objects into JSON and back. Gson was created by Google for internal use and later open-sourced.
Check out the complete Gson tutorial at https://www.javaguides.net/p/google-gson-tutorial.html.
Java Gson Maven dependency
This is a Maven dependency for Gson.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
Java Gson Serializing Null Values Example
The example shows how to serialize null values.
package net.javaguides.gson;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
class UserDetails {
private String firstName;
private String lastName;
public UserDetails() {};
public UserDetails(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
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;
}
@Override
public String toString() {
return new StringBuilder().append("User{").append("First name: ")
.append(firstName).append(", Last name: ")
.append(lastName).append("}").toString();
}
}
public class GsonSerializeNulls {
public static void main(String[] args) {
GsonBuilder builder = new GsonBuilder();
builder.serializeNulls();
Gson gson = builder.create();
UserDetails user = new UserDetails();
user.setFirstName("Tony");
String json = gson.toJson(user);
System.out.println(json);
}
}
Output:
{"firstName":"Tony","lastName":null}
Reference
Gson
Java
JSON
Comments
Post a Comment