我如何让杰克逊不把我的班级视为地图?

时间:2012-02-24 04:08:02

标签: java json jackson

我正在使用Jackson来序列化实现Map<String, String>的自定义类。但是在幕后,它实际上是一个Map<String, String[]>(这个类代表HTTP请求参数),我希望Jackson能够将它序列化,就好像它是Map<String, String[]>一样。我曾经认为JsonValue注释对于此是完美的(我会注释一个返回内部Map<String, String[]>的方法),但杰克逊似乎忽略了它。如何禁用此类的Map样式处理,并将其序列化为POJO或JsonValue注释?

1 个答案:

答案 0 :(得分:1)

您最好的选择是自定义序列化器/解串器,因为杰克逊无法知道您的地图是“假装”(即其签名错误)。

但是如果@JsonValue不起作用,那听起来像是一个错误。