以下方法transtToObject使用Jackson将XML转换为Object。我得到以下错误:
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.test.Student`
(although at least one Creator exists):no String-argument constructor/factory method to deserialize from String value ('12')
以下是核心类:
private Students convertToObject(String xml) {
XmlMapper xmlMapper = new XmlMapper();
Students matchedObjects = null;
try {
System.out.println(xml);
matchedObjects = xmlMapper.readValue(xml, Students.class);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
System.out.println(matchedObjects);
return matchedObjects;
}
这是输入XML:
<students>
<student><id>12</id><surname>DOE</surname><givenName>JOHN</givenName><marks>98.928</marks></student>
<student><id>13</id><surname>PRICE</surname><givenName>MIKE</givenName><marks>90.8444</marks> </student>
</students>
以下是两个POJO:
@Getter @Setter @AllArgsConstructor @NoArgsConstructor @ToString
@JacksonXmlRootElement(localName = "student")
public class Student {
String id;
String givenName;
String surname;
String marks;
}
@Getter @Setter @AllArgsConstructor @NoArgsConstructor @ToString
@JacksonXmlRootElement(localName = "students")
public class Students {
@JacksonXmlProperty(localName = "student")
private List<Student> student;
}
这是pom文件中的依赖项。
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.1</version>
</dependency>
您不需要包装类。取消这个XML
负载为List
CollectionType studentsListType = xmlMapper.getTypeFactory().constructCollectionType(List.class, Student.class);
List<Student> students = xmlMapper.readValue(xmlFile, studentsListType);
虽然这个问题听起来很简单,但我也在一个非常简单的bean上遇到了这个异常: JSON: 异常: 应用程序: JSON文件位于类路径上。 我尝试过的: 显式Lombok注释关于class
无法将xml转换为java pojo对象。请查看以下详细信息:- 输入xml- pom.xml有依赖关系:- 公司Java语言 受雇者Java语言 将xml转换为java代码:- 下面的错误我在转换xml到pojo时得到 线程“main”com中出现异常。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException:无法构造com的实例。测验Employee(尽管
在调用检索json响应并解析它时面临问题。 型号: person.java 地址.Java 读取此数据的代码, 无论我得到什么例外, 提取类型和内容类型[application/json;charset=utf-8]的响应时调用ABS ServiceError时的RestClientException;嵌套异常为org.springframework.http.converter.httpmess
Spring启动版本:1.5.10 杰克逊版本:2.9.5 龙目岛版本:1.18.0 我有一个使用Kafka发送有效载荷的场景。在接收到有效载荷时,我试图断言接收者和发送者端的有效载荷是否相同。 首先,我创建了一个类,它将作为有效负载传递。类的结构如下所示。使用的lombok插件版本是1.18.0。 现在来谈主要问题。因此,在我的另一个测试用例中,我通过kafka发送有效负载,在收到来自kafka
问题内容: 使用包中的类时遇到了json解析问题,而我得到的错误是: 发生此问题的Web应用程序是使用AngularJS前端的Spring MVC应用程序,但我可以使用更小的所有Java程序来复制该问题。这是我的豆子: Shipment.java Activity.java ActivityLocation.java 地址.java 这是我可以正确映射json的代码: 调整var中的数据时,遇到了
我正在尝试反序列化以下JSON 在以下自定义反序列化程序的帮助下 进入以下对象结构 我得到以下错误 通用域名格式。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException:无法构造OrderId的实例(尽管至少存在一个创建者):没有从字符串值反序列化的字符串参数构造函数/工厂方法({“type”:“TAKEAWAY”,“data”:{“OrderId”:“AW