当前位置: 首页 > 面试题库 >

什么是JSON八位位组,为什么需要两个八位位组?

别峻
2023-03-14
问题内容

我有传入的数据,这些数据存储在一个变量中messages

connection = ContextIO::Connection.new(key, secret)
messages = connection.all_messages(:account => account, :limit => 100, :since => (Time.now - 3000.day ))

变量messages采用JSON格式。然后我执行这个:

 foo = JSON.parse(messages)['data']

在大多数情况下,这是可行的。我时不时地收到以下错误消息:

  A JSON text must at least contain two octets!

然后,该错误html" target="_blank">消息指向该行 JSON.parse(messages)['data']

  1. 什么是八位位组?

  2. 为什么JSON文本必须至少包含两个八位字节?

  3. 如何防止我的代码每次messages没有两个八位位组时都被破坏?

谢谢!


问题答案:
  1. 一个八位位组是一组8位。今天,八位位组与字节同义,但是字节在历史上是指任何“本机”位组,这可能意味着4、6、7或8位。
  2. JSON文本必须至少包含两个八位字节,因为JSON文档的顶级结构是数组或对象,而它们的最短表示分别是[]{}
  3. 检查值messages。它可能是空的,未设置的或由一位数字组成(例如4),它 不是 有效的JSON,但被许多JSON实现接受。


 类似资料:
  • 一、什么是进位制? 进制也就是进位计数制,是人为定义的带进位的计数方法,也有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正字计数法,以及外国人常用的tally mark计数(四条竖杠和一条斜线) 基数:某数字可以使用的数码个数,通俗说就是这个数字有多少位。 数码:一组用来表示某种数制的符号,这个数字可以由什么数字组成。 二、常见的进位制 (1)二进制 二进制是计算机内部运算中采用的进制

  • 问题内容: 我正在使用PHP的用户角色/权限系统来编写脚本。 下面是使用位掩码方法获得phpbuilder.com权限的代码。 在该部分下面是一个简单得多的版本,w3hich可以在几乎没有该部分的情况下完成相同的操作。 许多人建议使用位运算符,例如PHP中的设置和其他内容,但我从来不明白为什么。在下面的代码中,使用第一个代码而不是第二个代码有什么 好处 ? 非位版本 问题答案: 为什么不这样做呢?

  • 问题内容: 最近,我一直在对我公司的数据库产品的写入性能进行一些基准测试,并且发现仅切换到64位JVM可以使性能持续提高20-30%。 我不允许详细介绍我们的产品,但基本上它是面向列的数据库,已针对存储日志进行了优化。基准测试包括向其提供几GB的原始日志,并确定分析它们并将其作为结构化数据存储在DB中所需的时间。CPU和I / O的处理非常繁重,尽管很难说是什么比例。 有关设置的一些注意事项: 两

  • 问题内容: 我正在研究《 Beginning Android Games》 这本书。我注意到的一件事是: 这是我第一次看到这样的变量,所以我不知道它的作用。我在Java中运行代码并创建了一些示例。 如果我运行此代码: 答案将是0?这是为什么? 如果我运行此代码: 起初,我认为这是价值的串联,因此我假设i = 10500,但事实并非如此。答案是一样的。还是0?有人知道这里发生了什么吗? 问题答案:

  • 所谓看高手操作,总能学其一二。各位大侠来点的奇淫技巧~

  • 问题内容: 我发现有人的pom.xml中使用了maven-shade-plugin。我以前从未使用过maven-shade-plugin(并且我是Maven n00b),所以我试图了解使用它的原因及其作用。 我看了看Maven文档,但是我听不懂这句话: “此插件提供了将工件打包在uber-jar中的功能,包括其依赖项,并可以遮蔽(即重命名)某些依赖项的包。” 该页面上的文档似乎不太适合新手。 什么