2016-04-27 6 views
3

ジャクソンをマッピングするときに2.6.5YAMLジャクソン - NullPointerExceptionがInteger型のプロパティ

私はそれをスローし、それが数値プロパティを読み取ると、整数のプロパティが含まれているPOJOにYAMLファイルをマップしよう:

com.fasterxml.jackson.databind.JsonMappingException:(java.lang.NullPointerExceptionががあった)

おかしい事は、私は、ファイル内の数値プロパティを引用選抜場合、それはそれらを解析するだけで結構です(私はそれがキャスト推測文字列を整数に変換する)

ジャクソンが数値などをキャストしようとしないために設定するフラグはありますか?

ありがとうございました

+1

私はこの動作がJackson 2.5.2で導入されたことを発見しました。以前のバージョンでは正常に動作します – GCarbajosa

+0

本当ですか?あなたはこのオンラインに関する説明をどこで発見しましたか? – niaomingjian

+0

ちょうど試行錯誤して、私はこの問題がない下位バージョンにダウングレードしてから、この動作を導入したバージョンであることがわかるまでバージョンを徐々にアップグレードしました – GCarbajosa

答えて

0

私は同じ問題を抱えていました。

私は別のプロジェクトで単純なyamlファイルを試してみましたが、予想どおりに動作しました(タイプが問われていても、引用符を必要としませんでした!)ので、なぜこれが起こっているのか完全にわかりません。

しかし、POMとYamlとの戦いの後、私はこれが現在動作していると思うし、私が使用していたさまざまなタイプの引用符を削除するために完全な(制作)yamlを取り除いたからだと思う。 "のミックスと"とし、可能性と物事が再び仕事を始めたところ、私はすべての引用を削除

あなたはまた、有効にする必要があります。 『』 ALLOW_UNQUOTED_FIELD_NAMESを:

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

が、私はそれが何であるか確信していませんそれはなぜそれが与えられた値であるか、またそれが与えられた理由で与えられたのですか?