はじめに
sinatra
でjson
を読み込んだ際、undefined method bytesize
が発生しました。
sinatra undefined method bytesize で検索すると、sinatra と json の相性が悪いらしいのですが、Hash -> json
の話が多いようです。
この記事は、json -> Hash
時のエラー回避策です。
状況
error.rb
require 'net/http'
require 'uri'
require 'json'
def read_uri(url)
uri = URI.parse(url)
res = Net::HTTP.get(uri)
json_data = JSON.parse(res)
最後の行でundefined method bytesize
が発生。
対策
success.rb
def read_uri(url)
uri = URI.parse(url)
res = Net::HTTP.get(uri)
- json_data = JSON.parse(res)
+ json_data = JSON.parse(res.chomp)
とりあえず、改行コードを削除するといい様です。
参照したサイト