javascript - JSON 中 NaN 和 Infinity 的序列化。为什么不支持?

标签 javascript json serialization

通过 JavaScript 在 JSON 中进行 NaN 和 Infinity 序列化的常识很简单:

JSON.stringify({ x: NaN });
"{"x":null}"

JSON.stringify({ x: Infinity });
"{"x":null}"

问题是这个奇怪的决定背后是什么?

最佳答案

RFC 7159 - The JavaScript Object Notation (JSON) Data Interchange Format

Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

我推测这是因为 NaNInfinity 实际上并不表示数字和/或不能用任何类型的数字格式表示。

关于javascript - JSON 中 NaN 和 Infinity 的序列化。为什么不支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57127297/

相关文章:

java - 将 NSData 转换为 Java 字符串

c# - JSON.NET 序列化(如果重写 ToString)

java - Java 中的序列化对象

javascript - "TypeError: ' 未定义 ' is not a function"尝试使用 jQuery UI 时

javascript - 如何在 IE 中将灰度和反转效果与 SVG 滤镜结合起来?

java - 使用 Spring @Retryable 和 Jackson json 反序列化

java - Object.class.getName() 慢吗?

Javascript切换菜单折叠问题

循环内的 JavaScript 闭包 – 简单的实际示例

javascript - 如何使 JSON 数组唯一