【问题标题】:Should you use JSON string to represent a small Integer?你应该使用 JSON 字符串来表示一个小的 Integer 吗?
【发布时间】:2023-03-14 15:02:02
【问题描述】:

我知道我们应该使用 JSON 字符串来表示大整数和小数。

如果我想表示从 1 到 1000 的整数范围,使用 JSON Integer 是否安全且跨平台可靠?

【问题讨论】:

  • 看看这个answer
  • “我们应该使用 JSON 字符串来表示大整数和小数。” -- 从上下文中提取,这个建议是不好的做法。为什么要用字符串来表示数字?如果它太大并且无法被语言准确地表示为数字,那么无论您如何表示它,您都无法在计算中使用它。
  • JSON 是某种数据结构(通常是对象或数组)的文本表示。其目的是安全地表示数据以在网络上存储或传输。它作为一个黑盒工作:将一些数据结构编码为 JSON,然后将其解码回类似于用于创建 JSON 的数据结构。解码可以在不同的程序中进行,使用不同的语言编写,在不同的计算机上运行。除了存储和传输(当然还有解码)之外,JSON 并不意味着用于计算。
  • 回答您的问题:没有理由使用字符串(编码为 JSON 或任何其他方式)代替数字,尤其是当数字可以安全地表示为任何语言的数字时并在当今使用的任何硬件平台上。

标签: json


【解决方案1】:

我认为,是的,可以安全地假设它在不同平台上都是可靠的。

参考JSON.ORG 标准和similar/duplicate question 之一。

【讨论】:

    【解决方案2】:

    我知道我们应该使用 JSON 字符串来表示大整数和小数。

    RFC 8259 是定义 JSON 格式的文档之一,对此只字未提。如果值为数字,则将其表示为number

    但是,此类文档允许实现对接受的数字的范围和精度设置限制。

    如果我想表示从 1 到 1000 的整数范围,使用 JSON Integer 是否安全且跨平台可靠?

    当然。

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多