[java] Gson 라이브러리의 특정 속성 값을 제한하는 방법은?

Gson을 사용하여 JSON 직렬화 및 역직렬화를 수행하는 경우, 속성 값을 제한하려면 @Expose 어노테이션을 사용할 수 있습니다. @Expose 어노테이션은 공개할 속성을 지정하는 데 사용됩니다.

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class MyClass {
    // 공개할 속성에 @Expose 어노테이션 추가
    @Expose
    private String name;
    
    private int age;
    
    // getter, setter, 생성자 생략
    
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        obj.setName("John");
        obj.setAge(25);
        
        // Gson 객체 생성
        Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
        
        // 객체를 JSON으로 직렬화하여 출력
        String json = gson.toJson(obj);
        System.out.println(json); // {"name":"John"}
        
        // JSON을 객체로 역직렬화
        MyClass newObj = gson.fromJson(json, MyClass.class);
        System.out.println(newObj.getName()); // John
    }
}

위의 예제에서는 name 속성에 @Expose 어노테이션을 추가했습니다. 따라서 Gson은 name 속성만 JSON으로 직렬화하고, 역직렬화할 때는 name 속성만 객체에 할당합니다.

더 자세한 내용은 Gson User Guide를 참조하시기 바랍니다.