Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách bỏ qua nhiều thuộc tính của đối tượng JSON trong Java


Annotation @JsonIgnoreProperties của Jackson dùng để chỉ định danh sách properties hoặc fields của class cần bỏ qua. Annotation này đặt ở trên khai báo class thay vì trên từng property/field riêng lẻ.

Cú pháp

@Target(value={ANNOTATION_TYPE,TYPE,METHOD,CONSTRUCTOR,FIELD}) @Retention(value=RUNTIME) public @interface JsonIgnoreProperties

Ví dụ

import java.io.*; import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; public class JsonIgnorePropertiesTest {    public static void main(String[] args) throws IOException {       Customer customer = new Customer("120", "Ravi", "Hyderabad");       System.out.println(customer);       ObjectMapper mapper = new ObjectMapper();       String jsonString = mapper.writeValueAsString(customer);       System.out.println("JSON: " + jsonString);       System.out.println("---------");       jsonString = "{\"id\":\"130\",\"name\":\"Rahul\", \"address\":\"Mumbai\"}";       System.out.println("JSON: " + jsonString);       customer = mapper.readValue(jsonString, Customer.class);       System.out.println(customer);    } } // Customer class @JsonIgnoreProperties({"id", "address"})  class Customer {    private String id;    private String name;    private String address;    public Customer() {    }    public Customer(String id, String name, String address) {       this.id = id;       this.name = name;       this.address = address;    }    public String getId() {       return id;    }    public String getName() {       return name;    }    public String getAddress() {       return address;    }    @Override    public String toString() {       return "Customer [id=" + id + ", name=" + name + ", address=" + address + "]";    } }

Kết quả

Customer [id=120, name=Ravi, address=Hyderabad] JSON: {"name":"Ravi"} --------- JSON: {"id":"130","name":"Rahul", "address":"Mumbai"} Customer [id=null, name=Rahul, address=null]