【发布时间】:2015-06-22 12:59:04
【问题描述】:
我创建了自定义 JsonDeserializer,它可以应用于任何 String 类型的字段。
public class EmptyToNullStringDeserializer extends JsonDeserializer<String> {
@Override
public String deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
String text = jp.getText();
return "" == text ? null : text;
}
}
可以在模型中使用。
class SomeClass {
@JsonDeserialize(using = EmptyToNullStringDeserializer.class)
private String someField;
}
它转换 JSON
{"someField": ""}
进入 Java 对象,其中 someField 等于 null(不是 "")
问题:如何创建通用JsonDeserializer,将null 设置为JSON 中等于"" 的所有Java 对象字段?
它应该用作:
@JsonDeserialize(using = EmptyToNullStringDeserializer.class)
class SomeClass {
private String someField;
}
【问题讨论】:
标签: java json spring json-deserialization