我正在使用 Jackson 2.1.4 并希望序列化扩展 Event 类的对象集合,并且 JSON 必须包含用于多态目的的类名。我在 Event 上放了一个@JsonTypeInfo 注释,但不幸的是我不能使用 CLASS 作为策略,因为我的对象实例化模式是“new FooEvent(){{bar=someValue;}}”,它将创建匿名内部类。我想将“FooEvent”作为 JSON 中的类型,而不是匿名内部类。
看来我需要这样做:
@JsonTypeInfo(use= JsonTypeInfo.Id.CUSTOM, include= JsonTypeInfo.As.PROPERTY, property="type")
但是如何注册我自己的自定义 id 序列化器来输出类的名称呢?