簡體   English   中英

澤西島:如何使用嵌套對象作為JSON打印通用對象?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM