列表没有出现在泽西JSON响应时空

时间:2016-07-13 07:02:14

标签: java json jaxb jersey

我使用Jersey v1.19作为REST框架。

下面是Response的Xml-Annotated类。

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Data {
   private boolean hasErrors; // always appears because primitive
   private List<String> remainingJobs;    
   // getter and setter
}

这里的问题是当remainingJobsnull或为空时,它不会包含在JSON响应中!回复示例:{"hasErrors": false}

我想让它出现在JSON响应中。我希望看到的回复示例:{"hasErrors": false, "remainingJobs": null}"null"

但是,我发现如果我将此数据成员注释为

@XmlElementWrapper(name = "remainingJobs")
@XmlElement(name = "remainingJob")
private List<String> remainingJobs;

然后显示null。但是,当存在实际数据时,响应将是冗长的并且不够漂亮。例如:

 {"remainingJobs": {"remainingJob": ["J22", "K01"]}, "hasErrors": false}

我想要的是什么:

 {"remainingJobs": ["J22", "K01"], "hasErrors": false}

另一个问题是当remainingJobs为空(非null)时,它显示为null !!

0 个答案:

没有答案