什么是JSON八位位组,为什么需要两个八位位组?
我有传入的数据,这些数据存储在一个变量中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!
然后,该错误消息指向该行 JSON.parse(messages)['data']
什么是八位位组?
为什么JSON文本必须至少包含两个八位字节?
如何防止我的代码每次
messages
没有两个八位位组时都被破坏?
谢谢!
回答:
- 一个八位位组是一组8位。今天,八位位组与字节同义,但是字节在历史上是指任何“本机”位组,这可能意味着4、6、7或8位。
- JSON文本必须至少包含两个八位字节,因为JSON文档的顶级结构是数组或对象,而它们的最短表示分别是
[]
和{}
。 - 检查值
messages
。它可能是空的,未设置的或由一位数字组成(例如4
),它 不是 有效的JSON,但被许多JSON实现接受。
以上是 什么是JSON八位位组,为什么需要两个八位位组? 的全部内容, 来源链接: utcz.com/qa/428573.html