[英]Jersey: How to print a generic Object with nested Objects as JSON?
目前,我正在打印Podcast API的輸出,如下所示:
{
"data":[{"feed":"someUrl","id":1,"name":"someName"}],
"success":true
}
我有一個用於生成帶有“數據”和“成功”的對象的響應對象,還有一個具有“提要”,“ id”,“名稱”的播客對象的PodcastResponse對象。
@XmlRootElement()
@XmlSeeAlso(PodcastResponse.class)
public class Response {
@XmlElement
boolean success = true;
@XmlElement
List<PodcastResponse> data;
//Getters, Setters, etc.
}
@XmlRootElement()
public class PodcastResponse {
@XmlElement
int id;
@XmlElement
String name;
@XmlElement
String feed_url;
//Getters, Setters, etc.
}
這將生成輸出:
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getPodcasts() {
return new Response(true, PodcastManager.getPodcasts());
}
那行得通。 現在,我想泛化Response類,以便與PodcastResponse類一起使用。
@XmlRootElement()
public class Response<T> {
@XmlElement
boolean success = true;
@XmlElement
List<T> data;
//Getters, Setters, etc.
}
不能按預期工作,輸出:
{
"data": ["PodcastResponse@93a281a"],
"success":true
}
如何編寫通用的響應類,以便可以JSON格式顯示各種數據?
使用可以與Jersey一起使用的JAXB批注將Java對象序列化為XML或JSON。 這是列出如何操作的頁面。
@XmlRootElement()
public class PodcastResponse {
int id;
String name;
String feed_url;
//Getters, Setters, etc.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.