如何在 Java 中使用 Gson 库序列化空字段?


默认情况下,Gson 对象不会将具有空值的字段序列化为 JSON。如果 Java 对象中的字段为空,则 Gson 会将其排除。我们可通过 GsonBuilder 强制 Gson 序列化空值。我们需要在创建 Gson 对象前对 GsonBuilder 实例调用 serializeNulls() 方法。一旦调用了 serializeNulls(),由 GsonBuilder 创建的 Gson 实例,即可在序列化的 JSON 中包含空字段

语法

public GsonBuilder serializeNulls()

范例

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;
   }
}

输出

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

更新时间: 2020 年 7 月 4 日

7 千次浏览

开启您的 职业生涯

完成课程并获得认证

开始学习
广告