2012-03-26 48 views
2

我正在使用數據綁定選項將JSON字符串轉換爲POJO。當我爲字段傳遞錯誤的值時,傑克遜解析器不會在錯誤中給出字段名稱。Jackson解析器中的字段名稱錯誤消息

這裏是一個例子,我有一個名爲taxAmt的字段,它在我的JSON中是Double類型的,當我在taxAmt字段中傳遞任何整數值時,每件事情都可以正常工作。但是當我傳遞一個非整數值taxAmttaxAmt:abcd

分析器拋出一個錯誤消息說

org.codehaus.jackson.JsonParseException:意外字符( 'A'(代碼97)):預測的有效值(數字,字符串,數組,對象,' true','false'或'null')

是否有解析器在錯誤消息中附加字段名稱,以便調用程序很容易識別具有錯誤的價值。

回答

1

問題不在於數據綁定(這會指示有問題的屬性),而是您似乎忘記了String值附近的雙引號。 JSON要求您引用字符串,因此解析器會在發現問題時引發異常。

然而,改善錯誤信息可能是有意義的,因爲解析器確實知道該點的路徑......嗯。

+0

taxAmt是一個整數,這就是爲什麼我沒有用雙引號括起來。正如你所提到的,我試圖用雙引號括起來,比如「taxAmt」:「adfasf」,在這種情況下,它確實指出我錯誤消息中的正確提交的名稱。沒有雙引號就可以實現這一點嗎? – Pearl 2012-03-27 20:22:10