Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでのシリアル化中にGsonのフィールドを除外するにはどうすればよいですか?


Gson ライブラリは、一時的なを使用してシリアル化からフィールドを除外する簡単なアプローチを提供しました 修飾子。 Javaクラスのフィールドを一時的なものにすると、Gsonは無視できます。 両方のシリアル化 および逆シリアル化

import com.google.gson.*;
public class GsonTransientFieldTest {
   public static void main(String[] args) {
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      Person p = new Person("Raja", "Ramesh", 28, 35000.00);
      String jsonStr = gson.toJson(p);
      System.out.println(jsonStr);
   }
}
//Person class
class Person {
   private String firstName;
   private transient String lastName;
   private int age;
   private transient double salary;
   public Person(String firstName, String lastName, int age, double salary) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.salary = salary;
   }
}
出力
{
 "firstName": "Raja",
 "age": 28
}

  1. JavaでGsonを使用してカスタムJSONシリアル化を実装するにはどうすればよいですか?

    Gsonライブラリは、カスタムシリアライザーを GsonBuilder に登録することにより、カスタムシリアライザーを指定する方法を提供します。 JavaオブジェクトをJSONに変換する方法が必要な場合 。 serialize()をオーバーライドすることで、カスタムシリアライザーを作成できます。 com.google.gson.JsonSerializerのメソッド クラス。 以下の例では、カスタムシリアル化の実装 JSONの。 例 import java.lang.reflect.Type; import com.google.gson.*; public class CustomJS

  2. Javaでオブジェクトをシリアル化および逆シリアル化する方法は?

    シリアル化 オブジェクトの状態をバイトストリームに変更するプロセスです。 、オブジェクトのクラスの場合、オブジェクトはシリアル化可能であると言われます または親 クラスはSerializableoのいずれかを実装します r E 外部化可能 インターフェースと逆シリアル化 シリアル化されたオブジェクトをオブジェクトのコピーに戻すプロセスです。 シリアル化中に、一時的なを使用して特定の変数の状態をバイトストリームに書き込みたくない場合 キーワード。 JVMの場合 一時的なキーワードに到達すると、変数の元の状態を無視し、そのデータ型のデフォルト値を格納します。つまり、intの場合は0 バイトの