2012-09-10 37 views
1

我使用Jackson进行json序列化/反序列化。如何更改杰克逊的全球信息格式?

我正在使用全局配置类型信息来支持多态。

objectMapper.enableDefaultTyping(); 

它将类型信息包含为每个对象的包装数组,这对我来说很好。

唯一的是我想改变包含的信息的格式,想要使用如下所述的键:值对。

{@type:com.....xyz} 

其中@type是关键字,而XYZ是类名,类似这样。

回答

0

因为不是所有值都是对象类型(列表,数组,标量值),所以不能使用“作为属性”包含进行默认类型。但是您可以使用@JsonTypeInfo来指定您拥有的POJO的样式;你应该可以将它与默认的打字混合,这样任何属性不起作用的东西都会使用默认打字。

+0

是的,但我的限制是我不想使用类级别的注释和格式,并且默认的类型信息不是我所需要的,所以我还能做些什么,如果你能告诉我最好的替代方案,我。 – Ketan