2つのjackson 2オブジェクトマッパーを使用する必要があります。 両方のマッパーは、同じクラスのセットで動作します。 最初に標準のシリアル化を使用する必要があります。 2番目は、すべてのクラスにARRAYシェイプタイプを使用したいと考えています(https://fasterxml.github.io/jackson-annotations/javadoc/2.2.0/com/fasterxml/jackson/annotation/JsonFormat.Shape.html#ARRAY参照)。Jackson ObjectMapperは注釈なしでJsonFormat.Shape.ARRAYを設定します
しかし、私は2番目のObjectMapperでこの機能をグローバルに設定したいと考えています。 mapperのようなもの.setShape(...)
どうやって?
UPD:
私はクラスの設定を無効にする方法を見つけた:
mapper.configOverride(MyClass.class)
.setFormat(JsonFormat.Value.forShape(JsonFormat.Shape.ARRAY));
だから私は、リフレクションAPIを使用して、すべての私のクラスのために変更することができます。
グローバル設定を無効にするのは面倒ですが、直接設定することはできません。