### 问题描述 *基于 float 类型的 json 序列化 Float.NaN/INFINITY/NEGATIVE_INFINITY 不再以 null 进行输出* ### 环境信息 - 版本信息:[e.g.:Fastjson2 2.0.4] ### 重现步骤 *如何操作可以重现该问题:* 想使用新版本 fastjson2 来替换原有 fastjson(基于您的性能测试和对内部部分数据进行压测后,效果的确非常惊艳) 发现在 float 类型 NaN 时,与原来 fastjson 1 版本时期的语义存在差异。 示例代码如下: ``` public static void main(String[] args) { float[] a = {0f, 0.0f, 0.1f, Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY}; System.out.println(JSON.toJSONString(a)); } ``` [0.0,0.0,0.1,NaN,Infinity,-Infinity],这是对应的输出。 研读您的代码后发现,RyuFloat 中基于 float 的实现的确会按照上述演示的业务进行输出。 个人理解,您这里是想表达出 float 类型在 Java 中存在的情况会有 Float.NaN/INFINITY/NEGATIVE_INFINITY 这三种例外的情况。 但是从 json 的角度(json.org)上并没有这类值的关键字,这里是否保留 fastjson 1 的全 null 处理会更加合理呢?或至少留下一个 Feature 枚举提供可选。