是一个与JavaScript的号码相关联的JSON号码

Is a JSON number tied to JavaScript's Number?

本文关键字:号码 关联 JSON JavaScript 一个      更新时间:2023-09-26

JSON 中数字的大小是否有任何限制?我说的不是JavaScript,而是JSON。

JSON与JavaScript如此相关 - 但仅仅因为一个数字不符合JavaScript对Number的看法,这是否使它无效JSON?

例如,JSON可以容纳Java Long吗?

来自 RFC 7159:

此规范允许实现对范围设置限制和接受的数字的精度。 由于实现的软件IEEE 754-2008 二进制 64(双精度(数字 [IEEE754] 是普遍可用且应用广泛,互操作性好通过不期望更多精度或范围的实现实现比这些提供,从某种意义上说,实现将预期精度内的近似 JSON 数字。 一个 JSON数字(如 1E4003.141592653589793238462643383279(可能表示潜在的互操作性问题,因为它表明创建它的软件希望接收软件具有更大的数字量级和精度的能力比广泛可用。

请注意,当使用此类软件时,数字是整数和在范围内[-(2**53)+1, (2**53)-1]可在感觉实现将完全同意其数字值。

dr:建议你使用可互操作(双精度(但不是必需的数字。

在JSON中,数字将表示为字符串。如果数字太大(我认为超过 53 位(,并且您尝试在 JavaScript 中将字符串转换为数字,就会发生意想不到的事情。但是,如果 Java(或任何其他支持 64 位数字的语言(将字符串转换为适当的数字类型,您将获得预期的结果。