class JSON::Ext::ParserConfig
Public Class Methods
Source
static VALUE cParserConfig_initialize(VALUE self, VALUE opts)
{
rb_check_frozen(self);
GET_PARSER_CONFIG;
parser_config_init(config, opts);
RB_OBJ_WRITTEN(self, Qundef, config->decimal_class);
return self;
}
创建一个新的 JSON::Ext::ParserConfig 实例。
它将通过 opts hash 进行配置。opts 可以包含以下键:
opts 可以包含以下键:
-
max_nesting: 解析的数据结构中允许的最大嵌套深度。使用 :max_nesting => false|nil|0 禁用深度检查,默认为 100。
-
allow_nan: 如果设置为 true,则允许解析
Parser解析 NaN、Infinity 和 -Infinity,这违反了 RFC 4627。此选项默认为 false。 -
symbolize_names: 如果设置为 true,则为
JSON对象中的名称(键)返回符号。否则返回字符串,这也是默认行为。此选项不能与 create_additions 选项一起使用。 -
decimal_class: 指定用于替换默认类的类。
(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);
}
解析当前的 JSON 文本 source 并返回完整的数据结构作为结果。如果解析失败,则引发 JSON::ParserError。