Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 flexjson을 사용하여 @JSON 주석을 통해 직렬화를 제어하는 ​​방법은 무엇입니까?


@JSON 주석 JSONSerializer 에서 사용됩니다. 직렬화 프로세스 중에 필드를 제외하거나 포함하는 클래스입니다. serialize()를 사용할 수 있습니다. JSONSerializer 메소드 대상 인스턴스의 얕은 직렬화를 수행하는 클래스입니다.

구문

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

예시

import flexjson.JSONSerializer;
import flexjson.JSON;
public class JSONAnnotationTest {
   public static void main(String[] args) {
      JSONSerializer serializer = new JSONSerializer().prettyPrint(true);
      Employee emp = new Employee("Raja", "Ramesh", 30, "Hyderabad");
      String jsonStr = serializer.serialize(emp);
      System.out.println(jsonStr);
   }
}
// Employee class
class Employee {
   private String firstName, lastName, address;
   private int age;
   public Employee(String firstName, String lastName, int age, String address) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.address = address;
   }
   public String getFirstName() {
      return firstName;
   }
   @JSON(include=false)
   public String getLastName() {
      return lastName;
   }
   public int getAge() {
      return age;
   }
   @JSON(include=false)
   public String getAddress() {
      return address;
   }
}

출력

{
 "age": 30,
 "class": "Employee",
 "firstName": "Raja"
}