【发布时间】:2016-08-22 02:43:03
【问题描述】:
杰克逊 2.6.5
我尝试将 YAML 文件映射到包含整数属性的 POJO,当它读取数字属性时,它会抛出:
com.fasterxml.jackson.databind.JsonMappingException: (原为 java.lang.NullPointerException)
有趣的是,如果我单引号文件中的数字属性,它会很好地解析它们(我猜它会将字符串转换为整数)
我必须为 Jackson 设置任何标志以使其不尝试转换数值或其他东西吗?
谢谢
【问题讨论】:
-
我发现这种行为是在 Jackson 2.5.2 中引入的,在以前的版本中它可以正常工作
-
真的吗?你是从哪里发现网上关于这个的解释的?
-
只是试错,我降级到一个没有这个问题的低版本,然后我逐渐升级版本,直到我发现是那个版本引入了这个行为
-
如果这只发生在整数上,它可能是由杰克逊核心的这种变化引起的:github.com/FasterXML/jackson-core/commit/… 引入了一个新方法 _parseInt。这也必须在 YAMLParser 中被覆盖。还升级 dataformat-yaml 依赖项应该可以解决问题。