package com.estate.expert.admin.utils.json;
|
|
import com.fasterxml.jackson.core.JsonParser;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
import java.io.IOException;
|
|
/**
|
* 自定义浮点数反序列化器
|
*/
|
public class CustomFloatDeserializer extends JsonDeserializer<Float> {
|
|
/**
|
* 反序列化浮点数
|
* @param p 解析器
|
* @param ctxt 上下文
|
* @return 浮点数
|
* @throws IOException 异常
|
* @throws JsonProcessingException 异常
|
*/
|
@Override
|
public Float deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
|
String text = p.getText();
|
if ("NaN".equals(text)) {
|
return Float.NaN;
|
} else if ("Infinity".equals(text)) {
|
return Float.POSITIVE_INFINITY;
|
} else if ("-Infinity".equals(text)) {
|
return Float.NEGATIVE_INFINITY;
|
}
|
return Float.valueOf(text);
|
}
|
}
|