cxf 2.2.7版。
json字符串仅包含非null值,但不包含空值属性,例如:
class Bean {String field1;String field2}
Bean bean = new Bean();
bean.setField1("value1");
在编组之后,结果json是:
{"field1":"value1"}
我希望json成为:
{"field1":"value1","field2":""}
谢谢!
答案 0 :(得分:1)
据我所知,无法在Jettison中映射空值(默认的JSON提供程序)。但是,如果您切换到Jackson,那么您可以获得所需内容。杰克逊将空值映射到 null 。
为了实现这一点,添加以下maven依赖:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.0</version>
</dependency>
用org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider替换org.apache.cxf.jaxrs.provider.json.JSONProvider。
结果是:
{"field1":"value1","field2":null}