Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > jsonライブラリ > JSONモジュール > generate

module function JSON.#generate

generate(object, state = nil) -> String[permalink][rdoc]
unparse(object, state = nil) -> String

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

デフォルトでは、サイズが最小となる JSON 形式の文字列を生成します。 また、循環参照のチェックを行います。JSON::NaN, JSON::Infinity, JSON::MinusInfinity を生成することもありません。

unparse は将来削除される予定です。

[PARAM] object:
JSON 形式の文字列に変換するオブジェクトを指定します。
[PARAM] state:
JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。 ハッシュを使用する場合指定可能なオプションは以下の通りです。
:indent

インデントに使用する文字列を指定します。デフォルトは空文字列です。

:space

a string that is put after, a : or , delimiter (default: '')

:space_before

a string that is put before a : pair delimiter (default: '')

:object_nl

a string that is put at the end of a JSON object (default: '')

:array_nl

a string that is put at the end of a JSON array (default: '')

:check_circular

真を指定した場合、生成するオブジェクトの循環をチェックします。 この動作がデフォルトです。

:allow_nan

真を指定した場合、JSON::NaN, JSON::Infinity, JSON::MinusInfinity を生成することを許すようになります。 偽を指定した場合、これらの値を生成しようとすると例外が発生します。 デフォルトは偽です。

:max_nesting

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

[EXCEPTION] JSON::GeneratorError:
JSON::NaN, JSON::Infinity,JSON::MinusInfinity を生成しようとした場合に発生します。
[EXCEPTION] JSON::CircularDatastructure:
与えられたオブジェクトが循環参照を持つ場合に発生します。

[SEE_ALSO] JSON::State, JSON.#pretty_generate