我有一个 bean,其中返回 Map 作为响应,并且使用 RESTEasy 通过 REST 接口(interface)调用该 bean。
jackson 库在发送回响应时使用 BeanSerializer(内部)而不是使用 MapSerializer。
这里是否使用了任何注释来让它知道该 bean 使用哪个序列化程序。
提前致谢。
最佳答案
Jackson BeanSerializer 扩展了 BeanSerializerBase,它将使用 SerializerProvider 定义的 JsonSerializer 根据字段类型(由 TypeSerializer 定义)序列化字段。 SerializerProvider 将使用 MapSerializer 来扩展 java.util.map 的所有内容。
所以... Jackson 库使用 MapSerializer 来序列化 map ...
无论如何,您可以使用 @JsonSerialize 注释来管理 jackson 如何序列化属性,更多信息请参阅文档: https://github.com/FasterXML/jackson-databind/wiki/Databind-Annotations
问候,
卢伊克
关于java - Jackson 如何知道何时使用 BeanSerializer 和 MapSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38523359/