module function JSON.#parse!

parse!(source, options = {}) -> object[permalink][rdoc][edit]

与えられた JSON 形式の文字列を Ruby オブジェクトに変換して返します。

JSON.#parse よりも危険なデフォルト値が指定されているので信頼できる文字列のみを入力として使用するようにしてください。

[PARAM] source:
JSON 形式の文字列を指定します。
[PARAM] options:
オプションをハッシュで指定します。指定可能なオプションは以下の通りです。
:max_nesting

入れ子になっているデータの最大の深さを指定します。数値を指定すると深さのチェックを行います。偽を指定すると深さのチェックを行いません。デフォルトは偽です。

:allow_nan

真を指定すると [RFC4627] を無視してパース時に JSON::NaN, JSON::Infinity, JSON::MinusInfinity を許可するようになります。デフォルトは真です。

:create_additions

偽を指定するとマッチするクラスや JSON.create_id が見つかっても付加情報を生成しません。デフォルトは偽です。



require "json"

json_text = "[1,2,{\"name\":\"tanaka\",\"age\":19}, NaN]"
JSON.parse!(json_text)
# => [1, 2, {"name"=>"tanaka", "age"=>19}, NaN]

JSON.parse!(json_text, symbolize_names: true)
# => [1, 2, {:name=>"tanaka", :age=>19}, NaN]

JSON.parse(json_text) # => unexpected token at 'NaN]' (JSON::ParserError)

[SEE_ALSO] JSON::Parser#parse