我有这个json字符串:
{
"startDate" : "2014-12-17T14:31:40Z",
"name" : "Izek",
"age" : 12
}
Run Code Online (Sandbox Code Playgroud)
当我用杰克逊转换它Map[String, Object]的类型startDate是String我怎么能告诉杰克逊把它转换成DateTime类型?
我找到了一种方法来做到这一点。定义我自己的UntypedObjectDeserializer并std.UntypedObjectDeserializer在deserialize方法中扩展:
if (currentToken == JsonToken.VALUE_STRING) {
if (_stringDeserializer != null) {
return _stringDeserializer.deserialize(jp, ctxt)
}
String text = jp.getText();
if (dateTimeFormatRegex.match(text) {
return toDateTimeObject(text);
} else {
return text;
}
}
return super.deserialize(jp, ctxt)
public DateTime toDateTimeObject(String text) {
dateTimeFormatter.parseDateTime(text)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |