class JSON::Ext::Parser

This is the JSON parser implemented as a C extension. It can be configured to be used by setting

JSON.parser = JSON::Ext::Parser

with the method parser= in JSON.

Constants

Config

Public Class Methods

new(source, opts = nil) click to toggle source
# File lib/json/ext.rb, line 17
def initialize(source, opts = nil)
  @source = source
  @config = Config.new(opts)
end
parse(p1, p2) click to toggle source
static VALUE cParser_m_parse(VALUE klass, VALUE Vsource, VALUE opts)
{
    Vsource = convert_encoding(StringValue(Vsource));
    StringValue(Vsource);

    JSON_ParserConfig _config = {0};
    JSON_ParserConfig *config = &_config;
    parser_config_init(config, opts);

    return cParser_parse(config, Vsource);
}
Also aliased as: parse

Public Instance Methods

parse() click to toggle source
# File lib/json/ext.rb, line 26
def parse
  @config.parse(@source)
end
source() click to toggle source
# File lib/json/ext.rb, line 22
def source
  @source.dup
end