[SPRING] jackson에 의해 직렬화 된 모든 객체에 클래스 이름 포함
SPRINGjackson에 의해 직렬화 된 모든 객체에 클래스 이름 포함
모든 직렬화 된 객체에 클래스 이름을 포함시키는 방법? 예 : "_class : 'MyClass'"를 출력 값에 추가합니다. 거기에 대한 몇 가지 글로벌 설정이 있습니까? pojo 클래스에 주석을 추가하고 싶지 않습니다.
나는 spring4 webmvc @ResponseBody (json 형식 만)와 함께 사용하고 있습니다.
해결법
-
==============================
1.@JsonTypeInfo 주석을 사용하여 유형에 주석을 달고 유형 정보를 직렬화해야하는 방법을 구성해야합니다. 참고로이 페이지를 참조하십시오.
@JsonTypeInfo 주석을 사용하여 유형에 주석을 달고 유형 정보를 직렬화해야하는 방법을 구성해야합니다. 참고로이 페이지를 참조하십시오.
예:
public class JacksonClassInfo { @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property = "__class") public static class Bean { public final String field; @JsonCreator public Bean(@JsonProperty("field") String field) { this.field = field; } @Override public String toString() { return "Bean{" + "field='" + field + '\'' + '}'; } } public static void main(String[] args) throws IOException { Bean bean = new Bean("value"); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(bean); System.out.println(json); System.out.println(mapper.readValue(json, Bean.class)); } }
산출:
{ "__class" : "stackoverflow.JacksonClassInfo$Bean", "field" : "value" } Bean{field='value'}
from https://stackoverflow.com/questions/24453703/include-class-name-in-all-objects-serialized-by-jackson by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] OSGi 번들 내에서 Spring 빈을 어떻게 사용합니까? (0) | 2019.01.06 |
---|---|
[SPRING] NoSuchMethodError : registerAutoProxyCreatorIfNecessary (ParserContext; Object;) Spring 구성의 예외입니다. (0) | 2019.01.06 |
[SPRING] SpringPersistenceUnitInfo :: AbstractMethodError (0) | 2019.01.06 |
[SPRING] 스프링 부트 PasswordEncoder 오류 (0) | 2019.01.06 |
[SPRING] 스프링 보안은 "? 매개 변수"형식과 일치 할 수 없습니까? (0) | 2019.01.06 |