9

別の単純な POJO クラスを拡張する単純な POJO クラスがあります。を使用してcom.sun.jersey.json.impl.provider.entity.JacksonProviderProxy、これらの POJO クラスのプロパティを JSON にマーシャリングしています。ただし、一部のプロパティを POJO に として設定すると、それらのプロパティはまったく出力されずnull、文字列として出力されます。null

たとえば。

{
   Person:
   [{
      "firstName":"John"
      "lastName":"null"
    }]
}

それ以外の:

たとえば。

{
   Person:
   [{
      "firstName":"John"
    }]
}
4

1 に答える 1

18

ObjectMapper使用しているJacksonのバージョン、およびを直接構成できるかどうかに応じて、null値を持つプロパティのシリアル化を抑制するためのさまざまなオプションを使用できます。

Jackson 1.1以降では、を構成するための直接アクセスがあり、 ( )ObjectMapperを呼び出すだけで済みます。setSerializationInclusionInclude.NON_NULL

または、nullプロパティのシリアル化が抑制されるプロパティを持つ(クラス)タイプに()で注釈を付けることもでき@JsonSerializeます。include=Inclusion.NON_NULL

Jackson 2+では、@JsonSerializeアノテーションの代わりに@JsonIncludeInclude.NON_NULL)を使用します。

于 2012-07-23T07:22:13.623 に答える