2012-09-13 75 views
0

繼此example包括POJO中的類名 - JSON編組

GET響應是:

{ 「歌手」: 「Metallica的」, 「標題」: 「進入Sandman」 }如果多個對象中包括輸出應該像

這樣的:

[{ 「歌手」: 「Metallica的」, 「稱號」: 「進入Sandman」 },{ 「歌手」: 「貓王」, 「稱號」: 「岩石」 }]

我希望得到書面太 '類名'。事情是這樣的:

{ 「追蹤」:[{ 「歌手」: 「Metallica的」, 「稱號」: 「進入Sandman」 },{ 「歌手」: 「貓王」, 「標題「:」搖滾「 }]}

任何簡單的方法來實現這一目標?

期待從JAX-RS Resteasy(Jackson)服務器直接獲取數據到Datatables。還試圖避免DTO。

回答

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

GET方法

public TrackList getTrackInJSON() { 

EDIT
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

回答編輯:只有這種方式wit新課 – Ilya

+0

BadgerFish怎麼樣,這可以解決? – jacktrades