2017-04-02 1 views
1

아무에게도 JSON 직렬화에서 도움이 될 수 있습니까? Annotation을 사용하여 정규화 된 클래스 이름을 변경해야합니다. 지도 나 다른 클래스를 사용할 필요가 없습니다. 주석에서 이름을 선택해야합니다.JSON 직렬화 : 주석에서 가져올 클래스 이름

- 내가 사용> 주석이

@JsonTypeInfo입니다 (사용 = Id.CLASS = As.PROPERTY, 재산 = "유형"포함) 개인 개체 메뉴를;

- 내가 할 수 있어요> JSON은

"메뉴"입니다 : [ "인 java.util.ArrayList", [{ "이름": "Menu_Test" "데이터" " Menu_123 " ]]],

->하지만 나는 이렇게하고 싶습니다.

"메뉴": [ "목록", [{ "이름": "Menu_Test" "데이터": "Menu_123" }]],

답변

0

당신은 당신이 다음 JsonTypeInfo.Id.NAME을 사용한다 추가 주석이있는 각 클래스의 이름을 지정해야합니다 (예 :

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") 
@JsonSubTypes({ 
    @JsonSubTypes.Type(value = ArrayList.class, name = "list") 
}) 
+0

감사합니다. 그 일. –