2012-09-13 2 views
0

다음 example.POJO에 JSON 마샬링 클래스 이름 포함

GET 응답은 다음과 같습니다

{ "가수" "메탈", "제목" 을 "샌드맨 입력"} 더 많은 개체가 출력 같아야 포함 된 경우

을 이 :

[{ "가수" "메탈", "제목": "을 입력 샌드맨" }, { "가수": "엘비스", "제목": "락" }]

내가 너무 쓴 '클래스 이름'싶어. 이런 식으로 뭔가 :

{ "트랙": [{ "가수" "메탈", "제목", " 을"엘비스 "}, { "가수 " 을"샌드맨 입력 " 제목 ":"Rock " }]}

이 간단한 방법은 무엇입니까?

JAX-RS Resteasy (Jackson) 서버에서 Datatables으로 직접 데이터를 받으려고합니다. 또한 DTO를 피하려고합니다.

답변

0
class TrackList 
{ 
    private List<Track> Track = new ArrayList<Track>(); 
    // setter, getter 
} 

GET 방식

public TrackList getTrackInJSON() { 

편집
GET 방식

public String getTrackInJSON() { 
    // ... create list of objects 

    return convertToString(objects); 
} 

유틸리티 메소드

static <T> String convertToString(List<T> list) throws IOException 
{ 
    final String json = new ObjectMapper().writeValueAsString(list); 

    return new StringBuilder() 
      .append("{\"") 
      .append(list.get(0).getClass().getSimpleName()) 
      .append("\":") 
      .append(json) 
      .append("}") 
      .toString(); 
} 
+0

나는 ACTU했다 동맹국 DTO 회전을 찾고 – jacktrades

+0

답변 됨 편집 됨 :이 방법으로 만 새로운 수업이 열림 – Ilya

+0

BadgerFish는 해결책이 될 수 있습니까? – jacktrades

관련 문제