>  기사  >  Java  >  Java에서는 JSON 직렬화 중에 특정 필드를 어떻게 무시할 수 있나요?

Java에서는 JSON 직렬화 중에 특정 필드를 어떻게 무시할 수 있나요?

王林
王林앞으로
2023-09-05 09:45:081358검색

Java에서는 JSON 직렬화 중에 특정 필드를 어떻게 무시할 수 있나요?

Java 객체에 직렬화를 원하지 않는 필드가 있는 경우 Jackson 라이브러리에서 @JsonIgnore 주석 을 사용할 수 있습니다. @JsonIgnore를 사용하면 직렬화역직렬화 중에 필드를 무시할 수 있습니다.

구문

public @interface JsonIgnore

import java.io.*;
import java.util.*;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.annotation.*;
public class JsonIgnoreAnnotationTest {
   public static void main(String args[]) throws JsonGenerationException, JsonMappingException, IOException {
      Employee emp = new Employee();
      emp.setFirstName("Raja");
      emp.setLastName("Ramesh");
      emp.setEmpId(120);
      emp.getTechnologies().add("Java");
      emp.getTechnologies().add("Scala");
      emp.getTechnologies().add("Python");
      ObjectMapper mapper = new ObjectMapper();
      mapper.writerWithDefaultPrettyPrinter().writeValue(System.out, emp);
   }
}
// Employee class
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
   "firstName",
   "lastName",
   "technologies",
   "empId"
})
class Employee {
<strong>   </strong>@JsonProperty("EMPLOYEE_ID")
   private int empId;
   @JsonProperty("EMPLOYEE_FIRST_NAME")
   private String firstName;
   @JsonProperty("EMPLOYEE_LAST_NAME")
   private String lastName;
   @JsonIgnore <strong>
</strong>   private List<String> technologies = new ArrayList<>();
   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;
   }
   public List<String> getTechnologies() {
      return technologies;
   }
   public void setTechnologies(List<String> technologies) {
      this.technologies = technologies;
   }
}

출력

{
   "EMPLOYEE_FIRST_NAME" : "Raja",
   "EMPLOYEE_LAST_NAME" : "Ramesh",
   "EMPLOYEE_ID" : 120
}

위 내용은 Java에서는 JSON 직렬화 중에 특정 필드를 어떻게 무시할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제