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

JavaでGsonを使用してカスタムFieldNamingStrategyを実装する方法は?


FieldNamingStrategy Gsonでカスタムフィールド命名を提供するためのメカニズムです。これにより、クライアントコードは、フィールド名を、通常のJavaフィールド宣言ルールとしてサポートされていない特定の規則に変換できます。 translateName() メソッドは、すべてのフィールド名の前に文字列「 pre _」を付けます 」。

以下の例では、カスタムFieldNamingStrategyを実装できます。

import java.lang.reflect.Field;
import com.google.gson.*;
public class GsonFieldNamingStrategyTest {
   public static void main(String[] args) {
      Employee emp = new Employee();
      emp.setEmpId(115);
      emp.setFirstName("Adithya");
      emp.setLastName("Jai");
      CustomFieldNamingStrategy customFieldNamingStrategy = new CustomFieldNamingStrategy();
      GsonBuilder gsonBuilder = new GsonBuilder();
      Gson gson = gsonBuilder.setFieldNamingStrategy(customFieldNamingStrategy).create();
      String result = gson.toJson(emp);
      System.out.println(result);
   }
   // Custom FieldNamingStrategy
   private static class CustomFieldNamingStrategy implements FieldNamingStrategy {
      @Override
      public String translateName(Field field) {
         return "pre_" + field.getName();
      }
   }
}
// Employee class
class Employee {
   private int empId;
   private String firstName;
   private String lastName;
   public int getEmpId() {
      return empId;
   }
   public void setEmpId(int empId) {
      this.empId = empId;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
}

出力

{"pre_empId":115,"pre_firstName":"Adithya","pre_lastName":"Jai"}

  1. Javaを使用してOpenCVでメディアンブラーを実装するにはどうすればよいですか?

    ローパスフィルターを使用して画像をフィルタリングすることで画像をぼかすことができます。これにより、画像から高周波コンテンツ(ノイズ、エッジ)が削除されます。 メディアンブラーリングは、OpenCVが提供するブラーニング手法の1つであり、画像のソルトアンドペッパーノイズを除去するのに非常に効率的です。これにより、中央の要素がカーネル領域のすべてのピクセルの中央値に置き換えられます。 medianBlur()を使用して、この手法で画像をフィルタリング/ぼかしできます。 メソッド、このメソッドは受け入れます ソース画像と宛先画像を表す2つのMatオブジェクト。 カーネルのサイズを表

  2. JavaでJWindowを使用してスプラッシュ画面を実装するにはどうすればよいですか?

    JWindow は、ユーザーのデスクトップのどこにでも表示できるコンテナです。 タイトルバーはありません 、ウィンドウ 管理 ボタン、 JFrameのようなものです。 JWindow JRootPaneが含まれています その唯一の子クラスとして。 contentPane JWindowの子の親になることができます 。 JFrameのように 、 JWindow は別のトップレベルのコンテナであり、装飾されていないJFrameとして機能します。 タイトルバー、ウィンドウメニューなどの機能はありません 、など。 JWindow スプラッシュ画面ウィンドウとして使用できます これ