Gson-null-support

提供:Dev Guides
移動先:案内検索

Gson-Nullオブジェクトのサポート

デフォルトでは、GsonはNULL値を無視して最適化されたJsonコンテンツを生成します。 ただし、GsonBuilderは* GsonBuilder.serializeNulls()*メソッドを使用して、Json出力にNULL値を表示するフラグを提供します。

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

serializeNulls呼び出しを使用しない例

C:\> GSON_WORKSPACEに GsonTester という名前のJavaクラスファイルを作成します。

ファイル-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+ "]";
   }
}

結果を検証する

次のように javac コンパイラを使用してクラスをコンパイルします-

C:\GSON_WORKSPACE>javac GsonTester.java

今、結果を見るためにGsonTesterを実行します-

C:\GSON_WORKSPACE>java GsonTester

出力を確認します。

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

serializeNulls呼び出しの例

C:\> GSON_WORKSPACEにGsonTesterという名前のJavaクラスファイルを作成します。

ファイル-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+ "]";
   }
}

結果を検証する

次のように javac コンパイラを使用してクラスをコンパイルします-

C:\GSON_WORKSPACE>javac GsonTester.java

今すぐ GsonTester を実行して結果を確認します-

C:\GSON_WORKSPACE>java GsonTester

出力を確認します。

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