Ruby on rails 什么是JSON八位组?为什么需要两个八位组?
我有传入的数据,存储在变量Ruby on rails 什么是JSON八位组?为什么需要两个八位组?,ruby-on-rails,json,variables,Ruby On Rails,Json,Variables,我有传入的数据,存储在变量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)['da
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']
消息
没有两个八位字节时代码中断[]
和{}
消息
。它可能是空的、未设置的或由单个数字组成(如4
),这不是有效的JSON,但被许多JSON实现所接受虽然我完全同意另一个答案,但在我的例子中,我有一个有效的
JSON
字符串,但在尝试JSON.parse
时仍然收到“JSON文本必须至少包含两个八位字节”错误消息
我的问题是我没有指定application/json
的内容类型。一旦我添加了它,JSON.parse
就可以正常工作了
希望这对其他人有帮助。Stephen,这正是我需要的!您在哪里添加了行“application/json”?