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']

  • 什么是八重奏

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

  • 如何防止每次
    消息
    没有两个八位字节时代码中断

  • 谢谢

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

  • 虽然我完全同意另一个答案,但在我的例子中,我有一个有效的
    JSON
    字符串,但在尝试
    JSON.parse
    时仍然收到“JSON文本必须至少包含两个八位字节”错误消息

    我的问题是我没有指定
    application/json
    的内容类型。一旦我添加了它,
    JSON.parse
    就可以正常工作了


    希望这对其他人有帮助。

    Stephen,这正是我需要的!您在哪里添加了行“application/json”?