1

cxf バージョン 2.2.7。
json 文字列には null 値が含まれていませんが、null 値のプロパティは含まれていません。

class Bean {String field1;String field2}

Bean bean = new Bean();
bean.setField1("value1");

マーシャリング後、結果のjsonは次のとおりです。

{"field1":"value1"}

私はjsonが次のようになることを期待しています:

{"field1":"value1","field2":""}

ありがとう !

4

1 に答える 1

1

私の知る限り、Jettison (デフォルトの JSON プロバイダー) で null 値をマップすることはできません。ただし、ジャクソンに切り替えると、必要なものが得られます。Jackson は null 値をnullにマップします。

それを達成するために、次の maven 依存関係を追加します。

<dependency>
   <groupId>org.codehaus.jackson</groupId>
   <artifactId>jackson-jaxrs</artifactId>
   <version>1.9.0</version>
</dependency>

そして、org.apache.cxf.jaxrs.provider.json.JSONProvider を org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider に置き換えます。

結果は次のとおりです。

{"field1":"value1","field2":null}
于 2013-09-08T18:26:25.997 に答える