簡體   English   中英

YAML Jackson - 映射Integer屬性時出現NullPointerException

[英]YAML Jackson - NullPointerException when mapping an Integer property

傑克遜2.6.5

我嘗試將YAML文件映射到包含Integer屬性的POJO,當它讀取數字屬性時,它會拋出:

com.fasterxml.jackson.databind.JsonMappingException :( was java.lang.NullPointerException)

有趣的是,如果我單引號引用文件中的數字屬性,它就會解析它們(我想它會將String轉換為整數)

是否有任何旗幟我必須為傑克遜設置不試圖投射數值或什么?

謝謝

我遇到了同樣的問題。

要導入YAMLFactory,我在pom.xml中添加了以下文件,

        <dependency>
            <groupId>com.aceevo.ursus</groupId>
            <artifactId>ursus-example-application</artifactId>
            <version>0.2.7</version>
        </dependency>

但正確的是以下,

        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
            <version>2.9.2</version>
        </dependency>

所以,我改變了這個文件,問題就消失了。

我發現我遇到了同樣的問題。

我在一個單獨的項目中嘗試了一個簡單的yaml文件,事情按預期工作(無論哪個字段都需要引用!)所以我不完全確定為什么會發生這種情況。

然而,在與POM和Yaml進行了一些戰斗后,我認為現在正在運行,我認為這是因為我清理了完整的(生產)yaml以刪除我們正在使用的不同類型的引號 - 有混合的'並且“我盡可能刪除所有引用,然后事情又開始了。

您可能還需要啟用“ALLOW_UNQUOTED_FIELD_NAMES”:

mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);

但我不相信這是什么使它工作,也不是為什么給它引用價值!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM