json boolean vs integer - 哪个占用更少的空间?

标签 json

在 JSON otw 中发送值时,使用 bool 值还是整数来占用更少的空间更好?

例如:

{
  foo: false
}

或者:
{
  foo: 0
}

考虑到它只是一个数字,与 bool 值的 4 或 5 个字符相比,使用数字会占用更少的空间吗? (真假)

如果将它们从 JSON 转换为对象格式,这两种方法之间还有速度差异吗?

最佳答案

首先,这是微观优化,不太可能重要。如果您正在传输数千或数百万个这样的值,它可能会变得很重要;但在这种情况下,您可能想要比 JSON 更有效的东西(在许多情况下,纯 CSV 会更好,但理想情况下您会使用一些打包的二进制格式)。

其次,JSON 是一种用字符串表示数据的方式;所以存储或发送 JSON 意味着您正在存储或发送字符串。因此测量数据的大小是微不足道的:字符串有多长?字符串 0有一个字符;字符串 false有五个字符。

第三,如果你优化空间,你会删除所有无关紧要的空格,所以你的例子应该是 {"foo":false} (13 个字符)和 {"foo":0} (9 个字符)。请注意,您不能像示例中那样跳过 foo 周围的引号。 - 这不是有效的 JSON。

第四,当您将结构从 JSON 转换为对象时,该结构将占用多少内存或其他资源取决于您使用的语言、该语言的实现方式以及任何数量的其他因素,因此完全无法回答(和,再次是一个不太可能重要的微观优化)。

关于json boolean vs integer - 哪个占用更少的空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47870795/

相关文章:

python - 提取作为字符串嵌入 Pandas 数据框中的嵌套 JSON

android - 如何使用 json-simple 库读写 JSON?

javascript - 转换后的 JSON 数组选择

java - 我的应用程序未将数据发布到 Android 上的 MySQL 数据库

android - Json MySql 获取两个整数和一个字符串

javascript - json foreach数组数组与jquery

json - 解码 json 的问题

java - 来自 HashMap 的 View 未正确命名

php - 将 SQL 数据解析为 JSON 以允许用户登录网站时是否存在性能/安全问题或优势?如果有,它们是什么?

json - 如何使用 Backbone Marionette 处理 JSON 数据中的未定义值