杰克逊ObjectMapper默认属性顺序

克里斯 :

有谁知道在使用ObjectMapper将对象序列化为JSON时是否存在特定的默认属性顺序(即在没有任何特定的排序顺序配置或@JsonPropertyOrder注释的情况下)?

我尚未在文档中找到任何内容。我可以检查源代码,但是我想我会先在这里快速检查-我猜它是基于来自反射或自省的任何排序,而我前一段时间发现的这篇帖子表明,不能保证排序(我可以再次检查来源,但是如果有人碰巧知道那将是很棒的。

MichałZiober:

该帖子仍是最新的。默认顺序取决于给定的实现(aka版本)。您需要检查实现:

  • com.fasterxml.jackson.databind.introspect包中,例如:POJOPropertiesCollectorclass。
  • com.fasterxml.jackson.databind.ser包中,例如:BeanSerializerBeanSerializerFactory类。
  • 使用的注释,例如:JsonIgnore

它还取决于:

  • 启用的功能,例如:REQUIRE_SETTERS_FOR_GETTERS
  • 启用的修饰符,例如:com.fasterxml.jackson.databind.ser.BeanSerializerModifierclass。

另一面

对象是名称/值对的无序集合。

而且您不应该依赖它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章