Имя поля в парсере Джексона Сообщение об ошибке - PullRequest
2 голосов
/ 26 марта 2012

Я использую опцию привязки данных для преобразования строки JSON в POJO. Когда я передаю неправильное значение для поля, синтаксический анализатор Джексона не дает имя поля в ошибке.

Вот пример, у меня есть поле с именем taxAmt, которое имеет тип Double в моем JSON, когда я передаю любое целочисленное значение в поле taxAmt, все работает нормально. Но когда я передаю нецелое значение в taxAmt как taxAmt:abcd.

Parser выдает сообщение об ошибке

org.codehaus.jackson.JsonParseException: неожиданный символ («a» (код 97)): ожидается допустимое значение (число, строка, массив, объект, «истина», «ложь» или «ноль»)

Есть ли в любом случае синтаксический анализатор для добавления имени поля в сообщении об ошибке, чтобы вызывающему было легко идентифицировать поле с неправильным значением.

1 Ответ

1 голос
/ 27 марта 2012

Проблема не в привязке данных (что указывает на свойство, в котором есть проблема), а в том, что вы, кажется, забываете двойные кавычки вокруг значения String. JSON требует, чтобы вы указывали в кавычках строки, поэтому анализатор генерирует исключение в тот момент, когда он замечает проблему.

Однако, возможно, имеет смысл улучшить сообщение об ошибке, учитывая, что парсер действительно знает путь к этой точке ... хммх.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...