0

このに従ってください。

GET 応答は次のとおりです。

{ "singer":"Metallica", "title":"Enter Sandman" }

さらにオブジェクトが含まれている場合、出力は次のようになります。

[{ "singer":"Metallica", "title":"Enter Sandman" }, { "singer":"Elvis", "title":"Rock" }]

「クラス名」も書きたいです。このようなもの:

{"トラック":[ { "singer":"Metallica", "title":"Enter Sandman" }, { "singer":"Elvis", "title":"Rock" }]}

これを達成する簡単な方法はありますか?

JAX-RS Resteasy (Jackson) サーバーからDatatablesに直接データを取得することを楽しみにしています。また、DTOを回避しようとしています。

4

1 に答える 1

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

GETメソッド

public TrackList getTrackInJSON() {  

EDITGET
メソッド

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();
}
于 2012-09-13T17:07:33.270 に答える