我在我的REST服务中使用JAXB
和JSONProvider
类为客户端生成响应。我发现了一件有趣的事情。
我有如下的映射:
@XmlRootElement(name = "fooRoot")
@XmlAccessorType(XmlAccessType.FIELD)
public class WSBar {
private WSFooTO foos;
//...
}
@XmlRootElement(name = "foos")
@XmlAccessorType(XmlAccessType.FIELD)
public class WSFooTO {
private WSDateTO one;
private WSDateTO two;
private WSDateTO three;
private WSDateTO four;
//....
}
当我设置响应为空对象时,我指的是:只有new WSDateTO()
和new WSFooTO()
。
然后,我收到了如下回答:
{"fooRoot":{
"foos":{
"one":"",
"two":"",
"three":"",
"four":""
}
}}
为什么会出现这种情况?我期望的是:"one":null,"two":null。