[英]JSONProvider returns empty objects such as String
我使用JAXB
和JSONProvider
類在REST服務中生成對客戶端的響應。 我發現了一件有趣的事情。 我有映射:
@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
根據JAXB 教程 ,值的缺失可以用三種不同的方式表示:
@XmlElement(required = true)
注釋的空字符串 @XmlElement(nillable = true)
注釋的單獨xsi:nil
屬性 嚴格回答您的問題:JAXB不支持將空對象轉換為null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.