Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAXB在不使用注释的情况下解组布尔值_Jaxb_Jaxb2 - Fatal编程技术网

JAXB在不使用注释的情况下解组布尔值

JAXB在不使用注释的情况下解组布尔值,jaxb,jaxb2,Jaxb,Jaxb2,我不想在类上使用注释从XML封送/解封送。我知道只要属性名和结构匹配,jaxb就不需要注释将xml解组到对象中。它适用于数字和字符串,但似乎不适用于布尔值。它们总是以空值结束,并且在编组时,布尔属性不会显示在结果XML中。如果不使用注释,如何使其工作 您至少需要根类上的@XmlRootElement注释。 布尔getter的首选命名约定是isSomething(),而不是getSomething() 下面的Java类 @XmlRootElement public class Root {

我不想在类上使用注释从XML封送/解封送。我知道只要属性名和结构匹配,jaxb就不需要注释将xml解组到对象中。它适用于数字和字符串,但似乎不适用于布尔值。它们总是以空值结束,并且在编组时,布尔属性不会显示在结果XML中。如果不使用注释,如何使其工作

您至少需要根类上的
@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>