com.fasterxml.jackson.databind.DeserializationContext#handleWeirdStringValue ( )源码实例Demo

下面列出了com.fasterxml.jackson.databind.DeserializationContext#handleWeirdStringValue ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: act-platform   文件: TimestampDeserializer.java
@Override
public Long deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
  // Input is already a long, just return value directly.
  if (p.hasToken(JsonToken.VALUE_NUMBER_INT)) {
    return p.getLongValue();
  }

  // Try to convert input to an Instant, else throw an InvalidFormatException.
  if (p.hasToken(JsonToken.VALUE_STRING)) {
    try {
      return Instant.parse(p.getText()).toEpochMilli();
    } catch (DateTimeParseException ignored) {
      return (Long) ctxt.handleWeirdStringValue(Long.class, p.getText(), "Cannot convert to valid Instant timestamp");
    }
  }

  // Cannot handle input, throw a MismatchedInputException.
  return (Long) ctxt.handleUnexpectedToken(Long.class, p);
}
 
源代码2 项目: lams   文件: UUIDDeserializer.java
private UUID _badFormat(String uuidStr, DeserializationContext ctxt)
    throws IOException
{
    return (UUID) ctxt.handleWeirdStringValue(handledType(), uuidStr,
            "UUID has to be represented by standard 36-char representation");
}