[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를 참조하시기 바랍니다.