gpt4 book ai didi

java - xmlMapper 允许在反序列化期间使用任何根元素

转载 作者:行者123 更新时间:2023-12-03 23:44:12 28 4
gpt4 key购买 nike

我有这样的代码

public class Xml {

public static void main(String[] args) throws JsonProcessingException {

String xmlString = "<password><plainPassword>12345</plainPassword></password>";

XmlMapper xmlMapper = new XmlMapper();
PlainPassword plainPassword = xmlMapper.readValue(xmlString, PlainPassword.class);
System.out.println(plainPassword.getPlainPassword());
}

@JacksonXmlRootElement(localName = "password")
public static class PlainPassword {

public String getPlainPassword() {
return this.plainPassword;
}

public void setPlainPassword(String plainPassword) {
this.plainPassword = plainPassword;
}

private String plainPassword;
}
}
它工作正常,但在 xmlString我可以使用任何根标签名称,我的代码仍然可以工作。
例如 String xmlString = "<x><plainPassword>12345</plainPassword></x>";我在哪里使用 x作为根元素也有效。
但是有没有可能说 xmlMapper 它只能正确地反序列化带有“password”根元素的字符串?

最佳答案

您可以将根类的名称更改为所有内容,例如:@JacksonXmlRootElement(localName = "xyz")它有效。
基于 Java documentation JacksonXmlRootElement 用于定义用于根级对象的根元素名称序列化时 (不适用于反序列化映射),它通常使用类型(类)的名称。

关于java - xmlMapper 允许在反序列化期间使用任何根元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63910729/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com