2
我很难与这一个。杰克逊2.2 XML序列化似乎序列化空对象的字段是这样的:杰克逊xml空元素序列化
<field/>
我怎样才能迫使它序列化这样的空场是这样的:
<field></field>
非常感谢您的时间和答案。
我很难与这一个。杰克逊2.2 XML序列化似乎序列化空对象的字段是这样的:杰克逊xml空元素序列化
<field/>
我怎样才能迫使它序列化这样的空场是这样的:
<field></field>
非常感谢您的时间和答案。
请查看此问题:How do you override the null serializer in Jackson 2.0?。对于XmlMapper
,它可能如下所示。创建NullSerializer
:
class NullSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeString("");
}
}
和简单的用法:
XmlSerializerProvider provider = new XmlSerializerProvider(new XmlRootNameLookup());
provider.setNullValueSerializer(new NullSerializer());
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.setSerializerProvider(provider);
System.out.println(xmlMapper.writeValueAsString(new Entity()));
上面的程序打印:
<Entity xmlns=""><field></field></Entity>
事实上,这做的伎俩。非常感谢你。 – William