我有一个简单的POJO:
public class ADate {
private Integer day;
private Integer month;
private Integer year;
... // getters/setters/constructor
}
以下JSON文档被正确反序列化为adate
:
{
"day":"10",
"month":"2",
"year":"1972"
}
Jackson会自动将字符串转换为整数。
如果整数值被定义为字符串,是否有一种方法可以避免这种自动转换并使Jackson失败。
ObjectMapper上有一个配置设置,称为MapperFeature.Allow_Coercion_of_Scalars
。如果设置为false
,它将阻止ObjectMapper将数字和布尔的字符串表示形式强制到它们的Java对应形式中。只允许严格转换。
确切用法示例:
objectMapper.configure(MapperFeature.ALLOW_COERCION_OF_SCALARS, false);
参考资料:
[2]如果deserializationFeature,则防止将
为int
从空字符串强制为null
。fail_on_null_for_primitivestrue
#1095:https://github.com/fasterxml/jackson-databind/issues/1095
[3]ALLOW_COERCION_OF_SCALARS http://fasterxml.github.io/jackson-databind/javadoc/2.9/
我有一个非常基本的Spring Boot应用程序,具有。-data-jpa、.-data-rest和。-web依赖项。在我的模型中,有一个实体,它包含一个整数属性。当我用REST调用获取资源时,会出现以下异常: .W.S.M.S.DefaultHandlerExceptionResolver:未能写入HTTP消息:org.springframework.HTTP.converter.HttpMes
我是Jooq的新手。我想把字符串转换成整数。 表1中定义:- 表2中定义:- 在select query中。 因为city_id在Table1和TABLE2中的格式不同。所以它需要转换table2的city_id,从字符串到整数,反之亦然,我尝试了Integer.valueOf(),我nteger.parseInt(),不工作。 感谢您的帮助。提前谢谢。
问题内容: 我对MySQL并不陌生,但是今天巧合的是,我的代码中发生了一种奇怪的情况,这使我感到惊讶。有人可以解释为什么这给我相同的结果吗? 和 在这两种情况下,选择相同的记录都会得到相同的结果。我希望第二个人不会给我任何回报?我的ID字段是int(11)无符号的,并且auto_increment标志处于打开状态。 问题答案: 从MySQL文档: 当运算符与不同类型的操作数一起使用时,会发生类型转
如何防止或捕捉用户输入int或数字的字符串? 前任。 然后如果我输入Dave Har1234,我想在输入上捕获该数字,然后返回。
我正在制作一个模拟制表方法(Quine McCluskey)的程序,并试图将字符串格式的输入转换为整数格式,最后再转换为字符串(二进制格式)格式。 编辑:我忘了包括这个方法…
问题内容: 我试图在Java中放置一些反SQL注入,并发现使用“ replaceAll”字符串函数非常困难。最后,我需要,将转换现有的功能来,任何到,任何到,任何以使得当字符串由MySQL的SQL注入评估将被阻止。 我已经整理了一些正在使用的代码,并且该函数中的所有内容都使我大失所望。如果有人碰巧有这个例子,我将不胜感激。 问题答案: PreparedStatement是可行的方法,因为它们使SQ