Class: JSON::Ext::ParserConfig
- Inherits:
-
Object
- Object
- JSON::Ext::ParserConfig
- Defined in:
- ext/json/ext/parser/parser.c
Instance Method Summary collapse
-
#new(opts) ⇒ Object
constructor
Creates a new JSON::Ext::ParserConfig instance.
-
#parse(source) ⇒ Object
Parses the current JSON text source and returns the complete data structure as a result.
Constructor Details
#new(opts) ⇒ Object
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.
-
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.
1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 |
# File 'ext/json/ext/parser/parser.c', line 1258
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;
}
|
Instance Method Details
#parse(source) ⇒ Object
Parses the current JSON text source and returns the complete data
structure as a result.
It raises JSON::ParserError if fail to parse.
1311 1312 1313 1314 1315 |
# File 'ext/json/ext/parser/parser.c', line 1311
static VALUE cParserConfig_parse(VALUE self, VALUE Vsource)
{
GET_PARSER_CONFIG;
return cParser_parse(config, Vsource);
}
|