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

JavaのJacksonライブラリを使用してnullフィールドと空のフィールドを無視するにはどうすればよいですか?


ジャクソン はJava用のライブラリであり、非常に強力なデータバインディング機能を備えており、カスタムJavaオブジェクトをJSONにシリアル化するためのフレームワークを提供します。 JSONを逆シリアル化してJavaオブジェクトに戻す 。 Jacksonライブラリは@JsonIncludeアノテーションを提供します シリアル化中の値に基づいて、クラス全体またはその個々のフィールドのシリアル化を制御します。

@JsonIncludeアノテーション 以下の2つの値が含まれています

  • Include.NON_NULL :null値ではないプロパティのみがJSONに含まれることを示します。
  • Include.NON_EMPTY :空ではないプロパティのみがJSONに含まれることを示します

import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
public class IgnoreNullAndEmptyFieldTest {
   public static void main(String[] args) throws JsonProcessingException {
      ObjectMapper mapper = new ObjectMapper();
      mapper.enable(SerializationFeature.INDENT_OUTPUT);
      Employee employee = new Employee(115, null, ""); // passing null and empty fields
      String result = mapper.writeValueAsString(employee);
      System.out.println(result);
   }
}
// Employee class
class Employee {
   private int id;
   @JsonInclude(Include.NON_NULL)
   private String firstName;
   @JsonInclude(Include.NON_EMPTY)
   private String lastName;
   public Employee(int id, String firstName, String lastName) {
      super();
      this.id = id;
      this.firstName = firstName;
      this.lastName = lastName;
   }
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   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;
   }
}
出力
{
 "id" : 115
}

  1. Java OpenCVライブラリを使用して画像の明るさを変更するにはどうすればよいですか?

    convertTo() org.opencv.core.Matのメソッド クラスは、画像のコントラストと明るさを変更するために、指定された行列に対して必要な計算を実行します。このメソッドは4つのパラメーターを受け入れます- マット −ソース行列と同じサイズとタイプの結果を保持するための空行列。 rtype −出力マトリックスのタイプを指定する整数値。この値が負の場合、タイプはソースと同じになります。 アルファ −ゲイン値。0より大きくなければなりません(デフォルト値1)。 ベータ −バイアス値(デフォルト値0)。 OpenCVJavaライブラリを使用して画像の

  2. Java OpenCVライブラリを使用して画像のコントラストを変更するにはどうすればよいですか?

    画像の明るさやコントラストの増減は、画像のピクセルを変換することで実現できる操作です。これは、方程式の形で次のように表すことができます- g(i, j) = α . f(i, j)+ β どこで、 (i、j)はピクセルの位置です。 α(ゲイン)とβ(バイアス)は変換のパラメーターです。 ゲインパラメータが画像のコントラストを制御し、バイアスパラメータが画像の明るさを制御する場合があります。 convertTo() org.opencv.core.Matのメソッド クラスは、画像のコントラストと明るさを変更するために、指定された行列に対して必要