2016-04-27 3 views
3

Jackson 2.6.5YAML Джексон - NullPointerException при отображении свойства Integer

Я пытаюсь сопоставить YAML файл в POJO, который содержит свойство Integer, когда он читает числовые свойства, он бросает:

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); 

, но я не уверен, что это то, что заставляло его работать, и почему он не указан в качестве значений!

Смежные вопросы