我需要使用org.codehaus.jackson
完全按照我的方式反序列化json属性(字段)。我知道自定义@JsonDeserializer
选项,但这只有在需要反序列化给定的数组值时才有用。我需要反序列化数组和数组本身的值。具体来说,我需要从ORMLite反序列化ForreignCollection
,因此我应该能够以编程方式创建ForeignCollectionField
并在其中添加值。
@JsonProperty
@ForeignCollectionField
private ForeignCollection<PerformerLocalized> localized;
有任何想法,如何管理它?
答案 0 :(得分:3)
@JsonDeserialize
可以使用BOTH容器AND值,如下所示:
@JsonDeserialize(using=MyContainerDeserializer.class, // this would apply to Collection
contentUsing=ValueDeserializer.class) // and this to value type
请注意,通常Collection
反序列化器不处理值,而只是委托它(使事情很好地模块化)。但是你可以用你的解串器选择不同的方式;委托或直接处理。如果您想委派,您可能希望实现ContextualDeserializer
接口,以便能够解析委托反序列化器。