Wil*_*iam 4 java xml serialization jackson
我很难受这个问题。Jackson 2.2 XML 序列化器似乎以这种方式序列化空对象字段:
<field/>
Run Code Online (Sandbox Code Playgroud)
我怎样才能强制它序列化这样的空字段:
<field></field>
Run Code Online (Sandbox Code Playgroud)
非常感谢您的时间和答复。
请参阅这个问题: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("");
}
}
Run Code Online (Sandbox Code Playgroud)
和简单的用法:
XmlSerializerProvider provider = new XmlSerializerProvider(new XmlRootNameLookup());
provider.setNullValueSerializer(new NullSerializer());
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.setSerializerProvider(provider);
System.out.println(xmlMapper.writeValueAsString(new Entity()));
Run Code Online (Sandbox Code Playgroud)
上面的程序打印:
<Entity xmlns=""><field></field></Entity>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6396 次 |
| 最近记录: |