我使用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
}
这里的问题是当remainingJobs
为null
或为空时,它不会包含在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
!!