Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > jsonライブラリ > JSON::Parserクラス > new
new(source, options => {}) -> JSON::Parser
[permalink][rdoc]パーサを初期化します。
第二引数のハッシュには以下のキーを指定することができます。
データ構造のネストの深さの最大値を指定します。デフォルトは 19 です。チェックを無効にするにはゼロまたは偽を指定してください。
真を指定すると [RFC4627] を無視して NaN, Infinity, -Infinity をパースエラーにしません。デフォルトは偽です。
偽を指定するとマッチするクラスや ID があっても付加情報を生成しません。デフォルトは真です。
JSON のオブジェクトを変換するクラスを指定します。デフォルトは Hash です。
JSON の配列を変換するクラスを指定します。デフォルトは Array です。
require 'json'
parser = JSON::Parser.new(DATA.read)
print parser.source
# => {
# => "Tanaka": {
# => "name":"tanaka",
# => "age":20
# => },
# => "Suzuki": {
# => "name":"suzuki",
# => "age":25
# => }
# => }
__END__
{
"Tanaka": {
"name":"tanaka",
"age":20
},
"Suzuki": {
"name":"suzuki",
"age":25
}
}
require 'json'
class Person
attr_accessor :name, :age
def []=(key, value)
instance_variable_set("@#{key}", value)
end
end
parser = JSON::Parser.new(DATA.read, object_class: Person)
person = parser.parse
person.class # => Person
person.name # => "tanaka"
person.age # => 20
__END__
{
"name":"tanaka",
"age":20
}