JSON Unmarshalling javax.xml.bind.UnmarshalException:意外元素(uri:"",local:

时间:2016-08-09 09:04:00

标签: java json jaxb cxf

我正在尝试将JSON解组为Java对象。我看过很少有关于解析XML的帖子。所以我希望问题不重复

我的Java类有以下注释

@XmlRootElement(name = "cpResponse")
public class CPResponse {

我正在使用来自cxf-rt-rs-extension-providers的 org.apache.cxf.jaxrs.provider.json.JSONProvider - 版本 - 2.7.3

我收到以下错误

  

javax.xml.bind.UnmarshalException:意外元素(uri:"",   当地:" cpResponse&#34)

3 个答案:

答案 0 :(得分:0)

我无法查看java mapper类。 对于要映射的json中的每个字段,在Java Mapper Class中定义getter和setter。您可以从json读取数据到java pojo,如下所示: 使用jackson-databind-2.0.0 api,您可以使用下面的代码

ObjectMapper mapper = new ObjectMapper();
JsonMapperVO jsonMapperVO = mapper.readValue(jsonString.toString(), JsonMapperVO.class);

答案 1 :(得分:0)

这可能是名称空间问题。你能为""的命名空间取悦吗? :

@XmlRootElement(name = "cpResponse", namespace = "")
public class CPResponse {

答案 2 :(得分:0)

问题在于Jettison Library 1.3.x版本。我降级到1.2,问题得到了解决。

不涉及其他代码更改。