Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > jsonライブラリ > JSON::Stateクラス

class JSON::State

クラスの継承リスト: JSON::State < Object < Kernel < BasicObject
aliases: JSON::Ext::Generator::State

要約

Ruby オブジェクトから JSON 形式の文字列を生成する間、 JSON 形式の文字列を生成するための設定を保持しておくために使用するクラスです。

目次

特異メソッド
from_state new
インスタンスメソッド
allow_nan? array_nl array_nl= check_circular? configure forget indent indent= max_nesting max_nesting= object_nl object_nl= remember seen? space space= space_before space_before= to_h

特異メソッド

from_state(options) -> JSON::State[permalink][rdoc]

与えられた options によって生成した JSON::State のインスタンスを返します。

[PARAM] options:
JSON::State のインスタンスか、ハッシュを指定します。
[RETURN]
options がハッシュである場合は、それによって初期化した JSON::State を 返します。options が JSON::State のインスタンスである場合は単に options を返します。いずれでも無い場合は、何も設定されていない JSON::State の インスタンスを返します。
new(options = {}) -> JSON::State[permalink][rdoc]

自身を初期化します。

[PARAM] options:
ハッシュを指定します。 指定可能なオプションは以下の通りです。
:indent

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

:space

JSON 形式の文字列のトークン間に挿入する文字列を指定します。デフォルトは空文字列です。

:space_before

JSON 形式の文字列中で JavaScript のオブジェクトを表す部分にある ':' の 前に挿入する文字列をセットします。デフォルトは空文字列です。

:object_nl

JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列を指定します。 デフォルトは空文字列です。

:array_nl

JSON 形式の文字列中に現れる JavaScript の配列の行末に挿入する文字列を指定します。 デフォルトは空文字列です。

:check_circular

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

:allow_nan

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

インスタンスメソッド

allow_nan? -> bool[permalink][rdoc]

NaN, Infinity, -Infinity を生成できる場合、真を返します。 そうでない場合は偽を返します。

[SEE_ALSO] [RFC4627]

array_nl -> String[permalink][rdoc]

JSON の配列の後に出力する文字列を返します。

array_nl=(str)[permalink][rdoc]

JSON の配列の後に出力する文字列をセットします。

check_circular? -> bool[permalink][rdoc]

循環参照のチェックを行う場合は、真を返します。 そうでない場合は偽を返します。

configure(options = {}) -> self[permalink][rdoc]

与えられたハッシュで自身を設定します。

オプションで使用するハッシュのキーについては JSON::State.new を参照してください。

[PARAM] options:
このオブジェクトの設定をするためのハッシュを指定します。

[SEE_ALSO] JSON::State.new

forget(object) -> object[permalink][rdoc]

JSON::State#remember で記録したオブジェクトを記録から削除します。

indent -> String[permalink][rdoc]

インデントに使用する文字列を返します。

indent=(string)[permalink][rdoc]

インデントに使用する文字列をセットします。

[PARAM] string:
インデントに使用する文字列を指定します。
max_nesting -> Integer[permalink][rdoc]

生成される JSON 形式の文字列のネストの深さの最大値を返します。

この値がゼロである場合は、ネストの深さのチェックを行いません。

max_nesting=(depth)[permalink][rdoc]

生成される JSON 形式の文字列のネストの深さの最大値をセットします。

この値にゼロをセットすると、ネストの深さのチェックを行いません。

object_nl -> String[permalink][rdoc]

JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列を返します。

object_nl=(string)[permalink][rdoc]

JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列をセットします。

[PARAM] string:
JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列を指定します。
remember(object) -> true[permalink][rdoc]

与えられたオブジェクトのオブジェクト ID を記録します。

ここで記録したオブジェクトはデータ構造の循環をチェックするために使用します。

[PARAM] object:
任意のオブジェクトを指定します。
seen?(object) -> bool[permalink][rdoc]

与えられたオブジェクトが既に生成済みである場合は真を返します。 そうでない場合は偽を返します。

このメソッドはデータ構造の循環をチェックするために使用します。

space -> String[permalink][rdoc]

JSON 形式の文字列のトークン間に挿入する文字列を返します。

space=(string)[permalink][rdoc]

JSON 形式の文字列のトークン間に挿入する文字列をセットします。

[PARAM] string:
JSON 形式の文字列のトークン間に挿入する文字列を指定します。
space_before -> String[permalink][rdoc]

JSON 形式の文字列中で JavaScript のオブジェクトを表す部分にある ':' の 前に挿入する文字列を返します。

space_before=(string)[permalink][rdoc]

JSON 形式の文字列中で JavaScript のオブジェクトを表す部分にある ':' の 前に挿入する文字列をセットします。

[PARAM] string:
JSON 形式の文字列中で JavaScript のオブジェクトを表す部分にある ':' の 前に挿入する文字列をセットします。
to_h -> Hash[permalink][rdoc]

自身をハッシュに変換します。