1. JSON::
  2. Ext::
  3. ParserConfig

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->decimal_class);    return self;}

Creates a newJSON::Ext::ParserConfig instance.

It will be configured by theopts 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 theParser. This option defaults to false.

  • symbolize_names: If set to true, returns symbols for the names (keys) in aJSON object. Otherwise strings are returned, which is also the default. It’s not possible to use this option in conjunction with thecreate_additions option.

  • decimal_class: Specifies which class to use instead of the default

    (Float) when parsing decimal numbers. This class must accept a singlestring 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 currentJSON textsource and returns the complete data structure as a result. It raisesJSON::ParserError if fail to parse.