java - 用于 xml 解码的 JAXB 或 Jackson?

标签 java xml jackson jaxb

接收 XML 响应时,有两种主要的解决方案将 xml 解码为 DTO 对象。为什么人们应该更喜欢 JAXB 而不是 jackson,或者相反?

JAXB:

Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(xmlString));
unmarshaller.unmarshal(reader, DtoObject.class);

jackson :

mapper = new ObjectMapper() / new XmlMapper();
mapper.readValue(xmlString, DtoObjectc.class);

最佳答案

在我看来,我会使用JAXB,原因如下。

  1. 它相当成熟,是 JDK 的一部分。
  2. 我不需要使用第三方附加库
  3. 与 JAXB 相比,Jackson2 XML 转换是新的,JAXB 已在业界存在了相当长的时间,并且有很多社区。

但是我并不是说好或坏。同样,它是开发人员可以选择使用的。

关于java - 用于 xml 解码的 JAXB 或 Jackson?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059090/

相关文章:

java - 将 CXF 自顶向下 Web 服务部署到 Weblogic 12.2.1 时出错

java - 加载 html 页面时出现 Thymeleaf TemplateInputException

c# - XML 文件而不是 XML 字符串

xml - 如何使用 perl 解析 KML 文件?

xml - Jackson:XML to Map with List deserialization

java - 打开 Excel 文件时出现 ClassCastException

java - 整数列表获取方法不返回整数的列表

.net - 解析 XML 的不同方法

memcached - 如何序列化 Jackson 的 JsonNode 对象?

json - 在 kotlin 中分支 json 解析的惯用方式