jersey/jaxb解组java对象,但未填充字段
我有一个Jersey服务器端代码,它将Java对象作为主体参数。这个Java对象可以说jersey/jaxb解组java对象,但未填充字段,java,json,jaxb,jersey,Java,Json,Jaxb,Jersey,我有一个Jersey服务器端代码,它将Java对象作为主体参数。这个Java对象可以说首选项定义如下 @XmlRootElement(name = "preferences", namespace = "http://arjun.test.com/tests/1.0") public class Preferences { String field1; String field2; public Preferences() { } @XmlEle
首选项定义如下
@XmlRootElement(name = "preferences", namespace = "http://arjun.test.com/tests/1.0")
public class Preferences {
String field1;
String field2;
public Preferences() {
}
@XmlElement(name = "field-1", namespace = "http://arjun.test.com/tests/1.0")
public String getField1() {
return field1;
}
public void setField1(String field1) {
this.field1 = field1;
}
@XmlElement
public String getField2() {
return field2;
}
public void setField2(String field2) {
this.field2 = field2;
}
}
我的问题是:在从客户端发送数据时,我填充了两个字段,但不知何故,在服务器中,第一个字段值始终为null,如果我将field1 XML注释更改为与field2相同的值,那么它就可以正常工作
有人能告诉我我犯了什么错误吗
Jersey服务器方法正在生成和使用JSON对象。如果我将第一个字段与以下xml注释一起使用,它将在@XmlElement(name=“field1”)下工作。也就是说,名称中没有“-”。这意味着什么???您是否尝试将@XmlElement(name=“field-2”,namespace=“)添加到getField2?是的,这没有帮助,在这种情况下,甚至field2也是空的。您确定设置了field2值吗?尝试找出field1和field2之间的差异,可能在代码的另一部分。您是否尝试不使用“namespace”XmlRootElement和XmlElement中的参数?除了xml注释中的name参数外,没有其他区别。是的,我已经删除了名称空间,并尝试删除它。