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 { /** * 反序列化浮点数 * @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); } }