Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để tuần tự hóa một trường null bằng cách sử dụng thư viện Gson trong Java?


Theo mặc định, đối tượng Gson không tuần tự hóa các trường có giá trị null sang JSON. Nếu một trường trong đối tượng Java là null, Gson sẽ loại trừ nó. Chúng tôi có thể buộc Gson phải tuần tự hóa các giá trị null qua GsonBuilder lớp. Chúng tôi cần gọi serializeNulls () trên GsonBuilder trường hợp trước khi tạo đối tượng Gson. Sau khi serializeNulls () đã được gọi là phiên bản Gson được tạo bởi GsonBuilder có thể bao gồm các trường rỗng trong JSON được tuần tự hóa.

Cú pháp

public GsonBuilder serializeNulls()

Ví dụ

import com.google.gson.*;
import com.google.gson.annotations.*;
public class NullFieldTest {
   public static void main(String args[]) {
      GsonBuilder builder = new GsonBuilder();
      builder.serializeNulls();
      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;
   @Since(1.0)
   public int age;
   @Since(2.0)
   public double salary;
   public Employee(String name, int age, double salary) {
      this.name = name;
      this.age = age;
      this.salary = salary;
   }
}

Đầu ra

{
   "name": null,
   "age": 25,
   "salary": 40000.0
}