2013-05-15 85 views
4

我要的Json空值反序列化到Java對象空字符串JacksonMapper反序列化空值

我能夠讓我的自定義解串器,但是當JSON的值爲空,也沒有去到解串器。

我應該如何反序列化它?

在此先感謝!

public class CustomStringDeserializer extends JsonDeserializer<String> { 
@Override 
public String deserialize(JsonParser jsonparser, DeserializationContext deserializationcontext) throws IOException, 
     JsonProcessingException { 

    String str = jsonparser.getText(); 

    try { 
     return (str == null) ? "" : str; 
    } catch (Exception e) { 
     throw new RuntimeException(e); 
    } 

} 

}

public CustomObjectMapper() { 
     SimpleModule _module = new SimpleModule("Module", new Version(1, 9, 10, "FINAL")); 
     _module.addDeserializer(String.class, new CustomStringDeserializer()); 
} 


謝謝@nutlike
我通過

@Override 
public String getNullValue() { 
    return ""; 
} 
+0

告訴我爲什麼問題被拒絕了,所以下次我可以改進。 –

+0

如果您沒有提供與問題相關的代碼和/或配置,沒有人可以回答您的問題。 – Bart

+0

@Bart,感謝評論,我現在加回代碼。 –

回答

2

做這也許就足以覆蓋方法getNullValue()

public class CustomStringDeserializer extends JsonDeserializer<String> { 

@Override 
public String deserialize(JsonParser jsonparser, 
     DeserializationContext deserializationcontext) throws IOException, 
     JsonProcessingException { 

    return jsonparser.getText(); 

} 

@Override 
public String getNullValue() { 
    return ""; 
} 

} 
+0

getNullValue已被棄用 –