当前位置: 首页 > 知识库问答 >
问题:

不匹配的输入异常:无法从START_OBJECT令牌反序列化“java.lang.Integer”的实例

轩辕啸
2023-03-14

我正在尝试使用XMLMapper将XML反序列化为Java对象,但我遇到了MistmactchInputException

XML:

<author>
 <id type="integer">1234</id>
 <name>Hello World</name>
</author>

爪哇类:

public class MyObject {

 @JacksonXmlProperty(localName = "id")
 private Integer id;

 @JacksonXmlProperty(localName = "name")
 private String name;

 // Constructor, Getter, Setter
}

问题出在< code>id xml标记中,其中提到了< code>type="integer"。如果我删除< code>type="integer",它会工作得非常好。

共有1个答案

仲涵亮
2023-03-14

只需简单地使用@JacksonXmlRootElement注释,例如:

    @JacksonXmlRootElement(localName = "id")
    @Data //for getters and setters
    public class Id {
    @JacksonXmlProperty(isAttribute=true)
    String type;
    @JacksonXmlText
    String text;
}

你的课应该是这样的:

public class MyObject {

 @JacksonXmlProperty(localName = "id")
 private Id id;

 @JacksonXmlProperty(localName = "name")
 private String name;

 // Constructor, Getter, Setter
}
 类似资料: