Serialization DateTimeSerializer:什么是参数shapeOverride?

Serialization DateTimeSerializer:什么是参数shapeOverride?,serialization,jackson,jodatime,fasterxml,Serialization,Jackson,Jodatime,Fasterxml,com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer#DateTimeSerializer(JacksonJodDateFormat格式,int-shapeOverride) 我搞不懂shapeOverride的意思。在internet上找不到有关它的适当信息。那么这是什么意思,为什么呢?这是给Jackson的一个提示,告诉他字段“形状”是什么。形状基本上是数据类型。我不知道您是否曾经序列化过Joda对象并获得过数组,但这基本上是形

com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer#DateTimeSerializer(JacksonJodDateFormat格式,int-shapeOverride)


我搞不懂shapeOverride的意思。在internet上找不到有关它的适当信息。那么这是什么意思,为什么呢?

这是给Jackson的一个提示,告诉他字段“形状”是什么。形状基本上是数据类型。我不知道您是否曾经序列化过Joda对象并获得过数组,但这基本上是形状

它是数组、字符串还是时间戳

替代是任何非0值。因此,如果您提供0,您将获得默认值,默认值为数组

因此,请根据您希望序列化数据的方式传递以下内容:

  • 无覆盖=0
  • 字符串=1
  • 时间戳=2
  • 数组=3
您可以在com.fasterxml.jackson.datatype.joda.ser.JodaDateSerializerBase中看到它们的解释

    public abstract class JodaDateSerializerBase<T> extends JodaSerializerBase<T>
    // need contextualization to read per-property annotations
        implements ContextualSerializer
    {
        private static final long serialVersionUID = 1L;

        // // Since 2.9

        protected final static int FORMAT_STRING = 1;
        protected final static int FORMAT_TIMESTAMP = 2;
        protected final static int FORMAT_ARRAY = 3;

        protected final JacksonJodaDateFormat _format;

        protected final SerializationFeature _featureForNumeric;

        /**
        * Shape to use for generic "use numeric" feature (instead of more specific
        * JsonFormat.shape).
        *
        * @since 2.9
        */
        protected final int _defaultNumericShape;

        /**
        * Marker set to non-0 if (and only if) property or type override exists.
        *
        * @since 2.9
        */
        protected final int _shapeOverride;
公共抽象类JodaDateSerializerBase扩展了JodaSerializerBase
//需要上下文化来读取每个属性的注释
实现ContextualSerializer
{
私有静态最终长serialVersionUID=1L;
////从2.9开始
受保护的最终静态int格式_STRING=1;
受保护的最终静态整数格式\u时间戳=2;
受保护的最终静态整数格式\u数组=3;
受保护的最终JacksonJodaDateFormat\u格式;
受保护的最终序列化功能\u数字功能;
/**
*用于通用“使用数字”功能的形状(而不是更具体的
*JsonFormat.shape)。
*
*@自2.9
*/
受保护的最终整数_defaultNumericShape;
/**
*当(且仅当)属性或类型重写存在时,标记设置为非0。
*
*@自2.9
*/
受保护的最终int_形状覆盖;

我也对找到答案感兴趣。