Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để sắp xếp thứ tự của các thuộc tính bằng cách sử dụng thư viện Jackson trong Java?


@JsonPropertyOrder là một chú thích được sử dụng ở cấp độ lớp học . Nó coi thuộc tính là một danh sách các trường xác định thứ tự mà các trường có thể xuất hiện trong chuỗi là kết quả của quá trình tuần tự hóa JSON đối tượng. Các thuộc tính có trong khai báo chú thích có thể được xếp theo thứ tự trước tiên (theo thứ tự đã xác định), tiếp theo là bất kỳ thuộc tính nào không có trong định nghĩa.

Cú pháp

public @interface JsonPropertyOrder

Ví dụ

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import java.util.*;
import java.io.*;
public class JsonPropertyOrderTest {
   public static void main(String args[]) throws JsonGenerationException, JsonMappingException,        IOException {
      Employee emp = new Employee();
      emp.setFirstName("Adithya");
      emp.setEmpId(25);
      emp.setLastName("Jai");
      emp.getTechnologies().add("Java");
      emp.getTechnologies().add("Scala");
      emp.getTechnologies().add("Python");
      ObjectMapper mapper = new ObjectMapper();
      mapper.writerWithDefaultPrettyPrinter().writeValue(System.out, emp);
   }
}
// Employee class
@JsonPropertyOrder({
   "firstName",
   "lastName",
   "technologies",
   "empId"
})
class Employee {
   private int empId;
   private String firstName;
   private String lastName;
   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;
   }
}

Đầu ra

{
   "firstName" : "Adithya",
   "lastName" : "Jai",
   "technologies" : [ "Java", "Scala", "Python" ],
   "empId" : 125
}