โดย Default Gson Object ไม่ Serialize Field ที่มี Null Values ไปเป็น JSON หาก Field ใน Java Object เป็น Null Gson จะ Exclude ออกไป สามารถ บังคับให้ Gson Serialize Null Values ได้ผ่านคลาส GsonBuilder เรียกเมธอด serializeNulls() บน GsonBuilder Instance ก่อนสร้าง Gson Object
Syntax
public GsonBuilder serializeNulls()
ตัวอย่าง: Serialize Null Fields
import com.google.gson.*;
import com.google.gson.annotations.*;
public class NullFieldTest {
public static void main(String[] args) {
GsonBuilder builder = new GsonBuilder();
builder.serializeNulls(); // เปิดใช้งาน Serialize Nulls
Gson gson = builder.setPrettyPrinting().create();
Employee emp = new Employee(null, 25, 40000.00);
String jsonEmp = gson.toJson(emp);
System.out.println(jsonEmp);
}
}
// Employee class
class Employee {
@Since(1.0)
public String name; // null
@Since(1.0)
public int age; // 25
@Since(2.0)
public double salary; // 40000.00
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
}
ผลลัพธ์
{
"name": null,
"age": 25,
"salary": 40000.0
}
สรุป: ใช้ new GsonBuilder().serializeNulls().create() เพื่อรวม Null Fields ใน JSON Output ใช้งานเมื่อ API ต้องการ Null Explicitly แทนการ Omit Field