将jackson从2.2.2升级到2.7.7时,Map.Entry的序列化发生了变化

时间:2016-12-08 10:21:54

标签: json spring spring-mvc jackson

Map.Entry的序列化

下面是带有jackson 2.2.2的JSON,同时从控制器(Spring MVC 4.0.2)返回地图

Object {key: 51454, value: "message"}

以下是带有jackson 2.7.7(Spring MVC 4.3.1)的JSON

Object {51453: "message"}

由于上述变化,我的js正在破裂。我不想更改js代码,所以如何更改json响应。

修改

在杰克逊升级中,Map.Entry的序列化按照GitHub Issue

进行了更改

这打破了我的api。

1 个答案:

答案 0 :(得分:1)

Map的序列化没有改变,所以我不认为你的问题陈述是完整的。

但是Map.Entry的序列化确实改变了使用更紧凑的序列化,所以也许你明确地处理Map.Entry值? 如果是这样,除了自定义序列化程序或使用其他类型之外,无法配置此项。但是使用实际的POJO而不是Map.Entry可能是有意义的。