Java Jackson ObjectMapper默认属性顺序

Java Jackson ObjectMapper默认属性顺序,java,serialization,jackson,Java,Serialization,Jackson,是否有人知道在使用ObjectMapper将对象序列化为JSON时,是否存在特定的默认属性顺序(即在没有任何特定排序顺序配置或@JsonPropertyOrder注释的情况下) 我还没有在文档中找到任何东西。我可以检查源代码,但我想我会首先快速检查这里-我猜它是基于来自反射或内省的任何排序,而我在不久前发现的这一点表明,没有关于排序的保证(我可以再次检查源代码,但如果有人碰巧知道,那就太好了)。这篇文章仍然是最新的。默认顺序取决于给定的实现(aka版本)。您需要检查实现: 在com.faste

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


我还没有在文档中找到任何东西。我可以检查源代码,但我想我会首先快速检查这里-我猜它是基于来自反射或内省的任何排序,而我在不久前发现的这一点表明,没有关于排序的保证(我可以再次检查源代码,但如果有人碰巧知道,那就太好了)。

这篇文章仍然是最新的。默认顺序取决于给定的实现(aka版本)。您需要检查实现:

  • com.fasterxml.jackson.databind.introspect
    包中,例如:
    POJOPropertiesCollector
  • com.fasterxml.jackson.databind.ser
    包中,例如:
    BeanSerializer
    BeanSerializerFactory
  • 使用注释,例如:
    JsonIgnore
还取决于:

  • 已启用的功能,例如:
  • 启用的修饰符,例如:
    com.fasterxml.jackson.databind.ser.BeanSerializerModifier
    class
发件人:

对象是一组无序的名称/值对

你不应该依赖它