jackson json null文字列を空の文字列にシリアル化する方法

jackson json
jackson json null文字列を空の文字列にシリアル化する方法

java NULL文字列を空の文字列にシリアル化するには、jackson json(1.8)が必要です。 どうやってやるの? どんな助けや提案も大歓迎です。

ありがとう

  9  2


ベストアンサー

https://github.com/FasterXML/jackson-docs/wiki/JacksonHowToCustomSerializers [カスタムシリアライザーに関するドキュメント]を参照してください。まさにこれの例があり、私にとってはうまくいきます。

ドキュメントが移動した場合、関連する回答を貼り付けてください:

__
ヌル値を別のものに変換

(空の文字列など)

nullの代わりに他のJSON値を出力したい場合(主に他の処理ツールが他の定数値を好むためです-多くの場合空の文字列)、名目上の型は何でもよいので、物事は少し複雑です。また、 `Object.class`のシリアライザーを登録できますが、使用する特定のシリアライザーがなければ、それは使用されません。

ただし、次のように使用できる「ヌルシリアライザー」の特定の概念があります。

// Configuration of ObjectMapper:
{
    // First: need a custom serializer provider
   StdSerializerProvider sp = new StdSerializerProvider();
   sp.setNullValueSerializer(new NullSerializer());
   // And then configure mapper to use it
   ObjectMapper m = new ObjectMapper();
   m.setSerializerProvider(sp);
}

// serialization as done using regular ObjectMapper.writeValue()

// and NullSerializer can be something as simple as:
public class NullSerializer extends JsonSerializer
{
   public void serialize(Object value, JsonGenerator jgen,
SerializerProvider provider)
       throws IOException, JsonProcessingException
   {
       // any JSON value you want...
       jgen.writeString("");
   }
}

__

10


タイトルとURLをコピーしました