MismatchedInputException:无法从START_OBJECT令牌中反序列化java.lang.Integer的实例

问题描述 投票:0回答:1

我正在尝试使用XMLMapper将XML反序列化为Java对象,但是我正面临MistmactchInputException

XML:

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

Java类:

public class MyObject {

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

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

 // Constructor, Getter, Setter
}

问题出在id xml标记中,其中提到了type="integer"。如果我删除type="integer",则效果很好。

java xml jackson xml-parsing
1个回答
0
投票

只需使用@JacksonXmlRootElement注释,如:

    @JacksonXmlRootElement(localName = "id")
    public class Id {
    @JacksonXmlProperty(isAttribute=true)
    String type;
    @JacksonXmlText
    Integer int;
    @JacksonXmlProperty(localName = "name")
    private String name;
}
© www.soinside.com 2019 - 2024. All rights reserved.