Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是一个与JavaScript';谁的号码?_Javascript_Java_Json - Fatal编程技术网

是一个与JavaScript';谁的号码?

是一个与JavaScript';谁的号码?,javascript,java,json,Javascript,Java,Json,JSON中数字的大小有限制吗?我说的不是JavaScript,而是JSON JSON与JavaScript如此关联——但仅仅因为一个数字不符合JavaScript的数字视图,这会使它成为无效的JSON吗 例如,JSON可以容纳Java Long吗 来自: 此规范允许实现设置范围限制 和接受的数字精度。因为实现 IEEE 754-2008二进制64(双精度)数字[]为 通用性强,应用广泛,可实现良好的互操作性 通过不需要更多精度或范围的实现实现 从实现将 在预期精度内的近似JSON数字。JSON

JSON中数字的大小有限制吗?我说的不是JavaScript,而是JSON

JSON与JavaScript如此关联——但仅仅因为一个数字不符合JavaScript的数字视图,这会使它成为无效的JSON吗

例如,JSON可以容纳Java Long吗

来自:

此规范允许实现设置范围限制 和接受的数字精度。因为实现 IEEE 754-2008二进制64(双精度)数字[]为 通用性强,应用广泛,可实现良好的互操作性 通过不需要更多精度或范围的实现实现 从实现将 在预期精度内的近似JSON数字。JSON 编号如
1E400
3.141592653589793238462643383279
可能表示 潜在的互操作性问题,因为它表明 创建它的软件期望接收软件具有更高的性能 数字量和精度的能力比广泛使用的 可用

请注意,使用此类软件时,整数和 在范围
[-(2**53)+1,(2**53)-1]
内的可在 感觉到实现将在数字上完全一致 价值观


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

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

在哪个平台上/使用哪个实现?没有规范限制:一百万位数似乎是有效的JSON。@ElliottFrisch-引发这个问题的是Elasticsearch from Java,这是Java到Java,但通过JSON。然后问题变成:Elasticsearch使用的JSON解析器能识别JSON中的长字符吗(因为长码不可能在不损失精度的情况下放入双精度)。我不知道答案,但如果使用Elasticsearch,测试应该不难。@Amadan-这就是问题的原因。我让它工作了;但它让我思考。。。