2012-07-23 8 views
9

私は単純なPOJOクラスを持ち、別の単純なPOJOクラスを拡張しています。私はcom.sun.jersey.json.impl.provider.entity.JacksonProviderProxyを使用して、これらのPOJOクラスのプロパティをJSONにマーシャリングします。しかし、いくつかのプロパティをPOJOにnullと設定すると、それらのプロパティは文字列nullとして出力されず、出力されません。JacksonProviderProxy json出力でヌル値を書き出す

たとえば、例えばのための

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

の代わりに。

{ 
    Person: 
    [{ 
     "firstName":"John" 
    }] 
} 
+0

私はこれをWebアプリケーションで実行しようとしています。だから、どのようにWebアプリケーションでこれを確かめるかについてのあらゆる指針は素晴らしいだろう。 –

答えて

18

異なるオプションが使用されているジャクソンのバージョンに応じて、NULL値を持つプロパティの直列化を抑制するために利用可能であり、ObjectMapperを直接構成することができるかどうか。

ジャクソン1.1+では、ObjectMapperの設定に直接アクセスして、setSerializationInclusionInclude.NON_NULL)と呼ぶことができます。

または、NULLプロパティのシリアル化が@JsonSerializeinclude=Inclusion.NON_NULL)を用いて、抑制されるべき性質を有する(クラス)タイプ、注釈を付けることができました。

@JsonSerialize注釈の代わりに、@JsonIncludeInclude.NON_NULL)を使用してください。

関連する問題