gpt4 book ai didi

java - JSONProvider 返回空对象,例如 String

转载 作者:行者123 更新时间:2023-11-30 11:43:37 25 4
gpt4 key购买 nike

我使用 JAXBJSONProvider 类在我的 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":""
}
}}

为什么会这样?我希望它应该是:“一”:空,“二”:空

最佳答案

根据 JAXB tutorial值的缺失可以用三种不同的方式表达:

  • 元素被省略
  • 使用 @XmlElement(required = true) 注释的空字符串
  • 使用 @XmlElement(nillable = true) 注释的特殊 xsi:nil 属性

严格回答您的问题:JAXB 不支持将空对象转换为 null

关于java - JSONProvider 返回空对象,例如 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com