Gson - Hỗ trợ Null Object

Gson theo mặc định tạo nội dung Json được tối ưu hóa bỏ qua các giá trị NULL. Nhưng GsonBuilder cung cấp cờ để hiển thị giá trị NULL trong đầu ra Json bằng cách sử dụngGsonBuilder.serializeNulls() phương pháp.

GsonBuilder builder = new GsonBuilder(); 
builder.serializeNulls(); 
Gson gson = builder.create();

Ví dụ không có cuộc gọi serializeNulls

Tạo một tệp lớp Java có tên GsonTester trong C: \> GSON_WORKSPACE.

Tệp - GsonTester.java

import com.google.gson.Gson;  

public class GsonTester { 
   public static void main(String args[]) { 
   
      Gson gson = new Gson();  
      
      Student student = new Student(); 
      student.setRollNo(1);  
      String jsonString = gson.toJson(student); 
      
      System.out.println(jsonString);  
      student = gson.fromJson(jsonString, Student.class); 
      System.out.println(student); 
   }      
} 

class Student { 
   private int rollNo; 
   private String name;  
   
   public int getRollNo() { 
      return rollNo; 
   }  
   
   public void setRollNo(int rollNo) { 
      this.rollNo = rollNo; 
   } 
   
   public String getName() { 
      return name; 
   }  
   
   public void setName(String name) { 
      this.name = name; 
   } 
   
   public String toString() { 
      return "Student[ name = "+name+", roll no: "+rollNo+ "]"; 
   } 
}

Xác minh kết quả

Biên dịch các lớp bằng cách sử dụng javac trình biên dịch như sau -

C:\GSON_WORKSPACE>javac GsonTester.java

Bây giờ hãy chạy GsonTester để xem kết quả -

C:\GSON_WORKSPACE>java GsonTester

Xác minh kết quả đầu ra.

{"rollNo": 1} 
Student[ name = null, roll no: 1]

Ví dụ với lệnh gọi serializeNulls

Tạo tệp lớp Java có tên GsonTester trong C: \> GSON_WORKSPACE.

Tệp - GsonTester.java

import com.google.gson.Gson; 
import com.google.gson.GsonBuilder;  

public class GsonTester { 
   public static void main(String args[]) { 
   
      GsonBuilder builder = new GsonBuilder(); 
      builder.serializeNulls(); 
      builder.setPrettyPrinting(); 
      Gson gson = builder.create();  
      
      Student student = new Student(); 
      student.setRollNo(1);  
      String jsonString = gson.toJson(student); 
      
      System.out.println(jsonString);  
      student = gson.fromJson(jsonString, Student.class); 
      System.out.println(student); 
   }      
} 
class Student { 
   private int rollNo; 
   private String name;  
   
   public int getRollNo() { 
      return rollNo; 
   }  
   
   public void setRollNo(int rollNo) { 
      this.rollNo = rollNo; 
   }  
   
   public String getName() { 
      return name; 
   }  
   
   public void setName(String name) { 
      this.name = name; 
   } 
   
   public String toString() { 
      return "Student[ name = "+name+", roll no: "+rollNo+ "]"; 
   } 
}

Xác minh kết quả

Biên dịch các lớp bằng cách sử dụng javac trình biên dịch như sau -

C:\GSON_WORKSPACE>javac GsonTester.java

Bây giờ chạy GsonTester để xem kết quả -

C:\GSON_WORKSPACE>java GsonTester

Xác minh kết quả đầu ra.

{ 
   "rollNo": 1, 
   "name": null 
} 
Student[ name = null, roll no: 1]