ホームページ  >  記事  >  Java  >  JavaでJacksonライブラリを使用してnullおよびvoidフィールドを無視するにはどうすればよいですか?

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

WBOY
WBOY転載
2023-08-30 13:17:05835ブラウズ

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

Jackson は、非常に強力なデータ バインディング機能を備え、カスタム Java オブジェクトを JSON にシリアル化し、JSON を Java オブジェクトに逆シリアル化するフレームワークを提供する 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)<strong>
</strong>   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;
   }
}

出力

<strong>{
 "id" : 115
}</strong>

以上がJavaでJacksonライブラリを使用してnullおよびvoidフィールドを無視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。