Gson: 주석 없이 직렬화에서 특정 필드 제외
주석 없이 Gson 직렬화에서 특정 필드를 제외하는 것은 까다로울 수 있습니다. 사용자 정의 ExclusionStrategy를 사용하여 이를 달성하는 방법은 다음과 같습니다.
사용자 정의 ExclusionStrategy
Gson은 필드 제외 방법을 사용자 정의할 수 있는 ExclusionStrategy 인터페이스를 제공합니다. 이 인터페이스의 구현을 만듭니다.
public class FieldExclusionStrategy implements ExclusionStrategy { private Pattern pattern; public FieldExclusionStrategy(String regex) { pattern = Pattern.compile(regex); } @Override public boolean shouldSkipField(FieldAttributes fa) { String fieldName = fa.getName(); return pattern.matcher(fieldName).matches(); } @Override public boolean shouldSkipClass(Class<?> clazz) { return false; } }
제외 사용자 정의
제공된 예에서 ExclusionStrategy는 지정된 정규 표현식을 기반으로 필드를 제외합니다. country.name과 같이 제외하려는 필드와 일치하도록 패턴을 사용자 정의할 수 있습니다.
ExclusionStrategy 사용
ExclusionStrategy가 정의되면 구성 시 이를 사용하십시오. GsonBuilder:
Gson gson = new GsonBuilder() .setExclusionStrategies(new FieldExclusionStrategy("country.name")) .create();
사용법 예
Gson을 구성한 후 다음과 같이 Student 개체를 직렬화할 수 있습니다.
String json = gson.toJson(student);
이렇게 하면 직렬화된 JSON 출력에서 country.name 필드가 제외됩니다.
추가사항
위 내용은 주석 없이 Gson 직렬화에서 특정 필드를 제외하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!