2014-01-27 2 views
1

내가 JSON으로 잭슨과 직렬화하려고하면 나는이잭슨 JSON으로 추상화 한 단계를 건너 뛰기

public class Profile { 
    Profile profile 
    Interests interests 
} 


public class Interests { 
    HashMap<String,InterestMetric> interests = ... 
} 

같은 수업을 :

{ 
    profile:... 
    interests: 
    { 
     interests:... 
    } 
} 

2 관심의 생성을 방지 할 수있는 방법이 있나요 사용자 정의 serializer가없는 태그 (주석)?

+0

왜이 추상화가 처음입니까? –

답변

2

예는 : 그것은 단지지도가 포함되어있는 경우

public class Profile { 
    Profile profile; 
    HashMap<String,InterestMetric> interests = ... 
} 

왜 두 번째 클래스가 필요합니까?

두 번째 생각에 ... 프로필에 왜 프로필이 포함되어 있습니까? 프로파일에 조립 된 정보 만 포함하면 안됩니까?

편집 : 당신이 코드베이스가 변경되지 않습니다 언급 한 이후 의 @JsonUnwrapped annotation 당신이 찾고있는 무엇을해야합니다 :

public class Profile { 
    Profile profile 
    @JsonUnwrapped 
    Interests interests 
} 


public class Interests { 
    HashMap<String,InterestMetric> interests = ... 
} 

나는 내가 어디에서 그것을 테스트 할 수 있지만 변경해야

{ 
    profile:... 
    interests:... 
} 
+0

관심을 가지고 별도로 운영하는 데 필요합니다 (json 및 backward로 변환). 이 같은 구조 변환 (유형 주석 사용)을 위해 jackson 매퍼를 별도로 사용할 수 있습니까? 이 경우 @JsonDeserialize 주석을 사용하는 방법을 모르겠습니다. –

+0

http://jackson.codehaus.org/1.9.9/javadoc/org/codehaus/jackson/annotate/JsonUnwrapped.html <@JsonUnwrapped 주석이 있어야합니다. 그때 당신이 찾고있는 것. 속성 참조를 '인라인'할 수 있습니다. – sheltem

+0

고마워, 내 나쁜 영어 실력에 실례합니다 –