Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Gson 라이브러리를 사용하여 null 필드를 직렬화하는 방법은 무엇입니까?


기본적으로 Gson 개체는 null 값으로 필드를 직렬화하지 않습니다. JSON으로. Java 객체의 필드가 null이면 Gson은 이를 제외합니다. Gson이 null 값을 직렬화하도록 할 수 있습니다. GsonBuilder 를 통해 수업. serializeNulls()를 호출해야 합니다. GsonBuilder 의 메소드 인스턴스 Gson 객체를 생성하기 전에 한 번 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
}