Techioz Blog

文字列を解析する前に、その文字列が有効な JSON であるかどうかを確認しますか?

概要

Rubyでは、文字列を解析する前に、文字列が有効なjsonであるかどうかを確認する方法はありますか?

たとえば、他の URL から情報を取得すると、json が返される場合もあれば、有効な応答ではないガベージが返される場合もあります。

私のコード:

def get_parsed_response(response)
  parsed_response = JSON.parse(response)
end

解決策

チェックを行うメソッドを作成できます。

def valid_json?(json)
  JSON.parse(json)
  true
rescue JSON::ParserError, TypeError => e
  false
end