class JSON::Ext::ParserConfig
Public Class Methods
Source
static VALUE cParserConfig_initialize(VALUE self, VALUE opts) { GET_PARSER_CONFIG; parser_config_init(config, opts); RB_OBJ_WRITTEN(self, Qundef, config->create_id); RB_OBJ_WRITTEN(self, Qundef, config->object_class); RB_OBJ_WRITTEN(self, Qundef, config->array_class); RB_OBJ_WRITTEN(self, Qundef, config->decimal_class); RB_OBJ_WRITTEN(self, Qundef, config->match_string); return self; }
Creates a new JSON::Ext::ParserConfig
instance.
It will be configured by the opts hash. opts can have the following keys:
opts can have the following keys:
-
max_nesting: The maximum depth of nesting allowed in the parsed data structures. Disable depth checking with :max_nesting => false|nil|0, it defaults to 100.
-
allow_nan: If set to true, allow NaN, Infinity and -Infinity in defiance of RFC 4627 to be parsed by the
Parser
. This option defaults to false. -
symbolize_names: If set to true, returns symbols for the names (keys) in a
JSON
object. Otherwise strings are returned, which is also the default. It’s not possible to use this option in conjunction with the create_additions option. -
create_additions: If set to false, the
Parser
doesn’t create additions even if a matching class and create_id was found. This option defaults to false. -
object_class: Defaults to
Hash
. If another type is provided, it will be used instead ofHash
to representJSON
objects. The type must respond tonew
without arguments, and return an object that respond to[]=
. -
array_class: Defaults to
Array
If another type is provided, it will be used instead ofHash
to representJSON
arrays. The type must respond tonew
without arguments, and return an object that respond to +<<+. -
decimal_class: Specifies which class to use instead of the default
(Float) when parsing decimal numbers. This class must accept a single string argument in its constructor.
Public Instance Methods
Source
static VALUE cParserConfig_parse(VALUE self, VALUE Vsource) { GET_PARSER_CONFIG; return cParser_parse(config, Vsource); }
Parses the current JSON
text source and returns the complete data structure as a result. It raises JSON::ParserError
if fail to parse.