JSON オクテットとは何ですか? なぜ 2 つ必要なのですか? 質問する

JSON オクテットとは何ですか? なぜ 2 つ必要なのですか? 質問する

受信したデータは変数に保存しますmessages:

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

変数はmessagesJSON 形式でフォーマットされています。次にこれを実行します。

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

ほとんどの場合、これでうまくいきます。しかし、時々、次のエラー メッセージが表示されることがあります。

  A JSON text must at least contain two octets!  

そのエラーメッセージは次の行を参照しますJSON.parse(messages)['data']

  1. オクテットとは何ですか?

  2. JSON テキストにはなぜ少なくとも 2 つのオクテットが含まれている必要があるのですか?

  3. messages2 つのオクテットがないたびにコードが壊れないようにするにはどうすればよいですか?

ありがとう!

ベストアンサー1

  1. オクテットは 8 ビットのグループです。今日では、オクテットはバイトと同義ですが、バイトは歴史的には「ネイティブ」なビットのグループを指し、4、6、7、または 8 ビットを意味します。
  2. JSON ドキュメントの最上位構造は配列またはオブジェクトであり、それらの最短表現はそれぞれ[]とであるため、JSON テキストには少なくとも 2 つのオクテットが含まれている必要があります{}
  3. 値を確認してくださいmessages。おそらく空か、設定されていないか、1桁の数字( など4)で構成されており、ない有効な JSON ですが、多くの JSON 実装で受け入れられます。

おすすめ記事