Javaで@Exposeアノテーションを使用してJSONからフィールドを除外するにはどうすればよいですか?

PHPz
リリース: 2023-09-16 21:49:02
転載
643 人が閲覧しました

Javaで@Exposeアノテーションを使用してJSONからフィールドを除外するにはどうすればよいですか?

Gson @Expose アノテーション は、フィールドがシリアル化または逆シリアル化のために公開される (含まれるかどうか) かどうかをマークするために使用できます。 @Expose Notes 2 つのパラメータを取得できます。各パラメータはブール値で、値 true または false を取得できます。 GSON が @Expose アノテーションに反応できるようにするには、GsonBuilder クラスを使用して Gson インスタンスを作成し、excludeFieldsWithoutExposeAnnotation() メソッドを呼び出す必要があります。これにより、Gson がすべてのアノテーションを除外するように設定されます。 Expose のないフィールド 注釈付きフィールドはシリアル化または逆シリアル化されます。

構文

public GsonBuilder excludeFieldsWithoutExposeAnnotation()
ログイン後にコピー

import com.google.gson.*;
import com.google.gson.annotations.*;
public class JsonExcludeAnnotationTest {
   public static void main(String args[]) {
      Employee emp = new Employee("Raja", 28, 40000.00);
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      String jsonStr = gson.toJson(emp);
      System.out.println(jsonStr);
      gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create();
      jsonStr = gson.toJson(emp);
      System.out.println(jsonStr);
   }
}
// Employee class
class Employee {
   @Expose(serialize = true, deserialize = true)
   public String name;
   @Expose(serialize = true, deserialize = true)
   public int age;
   @Expose(serialize = false, deserialize = false)<strong>
</strong>   public double salary;
   public Employee(String name, int age, double salary) {
      this.name = name;
      this.age = age;
      this.salary = salary;
   }
}
ログイン後にコピー

出力

{
 "name": "Raja",
 "age": 28,
 "salary": 40000.0
}
{
 "name": "Raja",
 "age": 28
}
ログイン後にコピー

以上がJavaで@Exposeアノテーションを使用してJSONからフィールドを除外するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート