JAXB在不使用注释的情况下解组布尔值
我不想在类上使用注释从XML封送/解封送。我知道只要属性名和结构匹配,jaxb就不需要注释将xml解组到对象中。它适用于数字和字符串,但似乎不适用于布尔值。它们总是以空值结束,并且在编组时,布尔属性不会显示在结果XML中。如果不使用注释,如何使其工作 您至少需要根类上的JAXB在不使用注释的情况下解组布尔值,jaxb,jaxb2,Jaxb,Jaxb2,我不想在类上使用注释从XML封送/解封送。我知道只要属性名和结构匹配,jaxb就不需要注释将xml解组到对象中。它适用于数字和字符串,但似乎不适用于布尔值。它们总是以空值结束,并且在编组时,布尔属性不会显示在结果XML中。如果不使用注释,如何使其工作 您至少需要根类上的@XmlRootElement注释。 布尔getter的首选命名约定是isSomething(),而不是getSomething() 下面的Java类 @XmlRootElement public class Root {
@XmlRootElement
注释。布尔getter的首选命名约定是
isSomething()
,而不是getSomething()
下面的Java类
@XmlRootElement
public class Root {
private Boolean something;
public Boolean isSomething() {
return something;
}
public void setSomething(Boolean something) {
this.something = something;
}
}
使用此XML输入对我来说效果很好:
<root>
<something>true</something>
</root>
生成的XML输出为:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<something>true</something>
</root>
真的
它对我不起作用。奇怪的是,布尔包装没有默认的绑定行为而不需要注释。无论如何,我不想在这上面花太多时间。我创建了一个要解组的帮助器类,因为我无法对目标进行注释class@kfc我使用了Java8(不知道这是否相关),我也使用Java8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<something>true</something>
</root>