2012-03-26 74 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

相关问题