“mitao”
2026-05-16 881332a25bcbbe3bebb696f6d0728fba559ef635
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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);
    }
}