JSON提供程序jackson使用布尔类型进行序列化和反序列化问题

时间:2011-05-11 14:26:15

标签: json boolean wrapper jackson

我在使用带有JSON对象的布尔包装器时遇到问题,当为布尔值创建JSON对象时,它包含字符串cotes,例如"isUrgent" : "1"现在问题是我必须每次为我的代码手动包装它请求/响应

任何人都能为我提供上述问题的永久解决方案吗?

2 个答案:

答案 0 :(得分:3)

解决方案是为布尔类型自定义反序列化器。您需要做的就是添加额外的反序列化器,它可以处理特定字符串值的情况,您希望将其反序列化为布尔值。

以下博客文章详细解释了它。

http://hussainpithawala.wordpress.com/2011/05/11/overriding-default-serializationdeserialization-behaviour-of-jackson-json-serializer/

答案 1 :(得分:2)

对于它的价值,布尔类型可以从替代的JSON标记转换(不仅仅是原生的真或假);这样

  • null变为假
  • empty String(“”)变为false
  • 字符串“true”和“false”被接受为匹配的布尔值
  • 整数0变为false;其他整数是真的

但在这种情况下,你有不同的东西组合。