mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix code
This commit is contained in:
parent
6d1f500bb2
commit
965518947e
@ -16,19 +16,33 @@
|
|||||||
|
|
||||||
package org.dromara.hutool.json.engine.jackson;
|
package org.dromara.hutool.json.engine.jackson;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JacksonException;
|
|
||||||
import com.fasterxml.jackson.core.JsonParser;
|
import com.fasterxml.jackson.core.JsonParser;
|
||||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||||
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
|
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
|
||||||
|
import org.dromara.hutool.core.convert.ConvertUtil;
|
||||||
|
import org.dromara.hutool.core.date.TimeUtil;
|
||||||
|
import org.dromara.hutool.core.text.StrUtil;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.temporal.TemporalAccessor;
|
import java.time.temporal.TemporalAccessor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Jackson时间反序列化器
|
||||||
|
*
|
||||||
|
* @author Looly
|
||||||
|
*/
|
||||||
public class JacksonTemporalDeserializer extends StdDeserializer<TemporalAccessor> {
|
public class JacksonTemporalDeserializer extends StdDeserializer<TemporalAccessor> {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private final Class<? extends TemporalAccessor> type;
|
private final Class<? extends TemporalAccessor> type;
|
||||||
private final String dateFormat;
|
private final String dateFormat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造
|
||||||
|
*
|
||||||
|
* @param type 时间类型
|
||||||
|
* @param dateFormat 日期格式
|
||||||
|
*/
|
||||||
public JacksonTemporalDeserializer(final Class<? extends TemporalAccessor> type, final String dateFormat) {
|
public JacksonTemporalDeserializer(final Class<? extends TemporalAccessor> type, final String dateFormat) {
|
||||||
super(TemporalAccessor.class);
|
super(TemporalAccessor.class);
|
||||||
this.type = type;
|
this.type = type;
|
||||||
@ -36,7 +50,9 @@ public class JacksonTemporalDeserializer extends StdDeserializer<TemporalAccesso
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TemporalAccessor deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException, JacksonException {
|
public TemporalAccessor deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException {
|
||||||
return null;
|
return StrUtil.isEmpty(dateFormat) ?
|
||||||
|
ConvertUtil.convert(this.type, p.getLongValue()) :
|
||||||
|
ConvertUtil.convert(this.type, TimeUtil.parse(p.getValueAsString(), dateFormat));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user