このエラーが発生しましたが、この質問に対する合理的な回答が見つかりませんでした。JSONテキストに少なくとも2つのオクテットが含まれている必要があります
あなたはIRBでこのスニペットを実行した場合:
JSON.parse(nil)
を次のエラーが表示されます:
TypeError: can't convert nil into String
私は一種のTypeError
nil
を返すために機能を期待し、いませんでした。ちょうど罰金と同様だ
JSON::ParserError: A JSON text must at least contain two octets!
:あなたはto_s
を使用して、すべての入力を変換する場合は、オクテットのエラーが表示されます。あなたはオクテットが何であるかわからない場合は、概要および解決のために、この記事をお読みください。 What is a JSON octet and why are two required?
ソリューション
あなたが渡している変数が空の文字列です。 JSON.parse
メソッドで空の文字列を使用しないでください。
質問
だから、今、私は、エラーの原因を知って、どのようなパターン私はこれを処理するために使用する必要がありますか?私は猿のパッチに少し嫌悪感は、nil
値を可能にするJSONライブラリです。どんな提案も大歓迎です。
'「」 '、2つのオクテットである(絶対最低限オブジェクトは' {} ')。エンコーダ/パーサが 'null'も有効なjavascript値であるとは考えていないと書いた人がいます。 –