class Regexp - json: Ruby Standard Library Documentation

# class Regexp

### Public Class Methods

json_create(object) click to toggle source

See `as_json`.

    # File json/lib/json/add/regexp.rb, line 9
    def self.json_create(object)
      new(object['s'], object['o'])
    end

### Public Instance Methods

as_json(*) click to toggle source

Methods `Regexp#as_json` and `Regexp.json_create` may be used to serialize and deserialize a Regexp object; see Marshal.

Method `Regexp#as_json` serializes `self`, returning a 2-element hash representing `self`:

    require 'json/add/regexp'
    x = /foo/.as_json
    # => {"json_class"=>"Regexp", "o"=>0, "s"=>"foo"}

Method `JSON.create` deserializes such a hash, returning a Regexp object:

    Regexp.json_create(x) # => /foo/

    # File json/lib/json/add/regexp.rb, line 28
    def as_json(*)
      {
        JSON.create_id => self.class.name,
        'o'            => options,
        's'            => source,
      }
    end

to_json(*args) click to toggle source

Returns a `JSON` string representing `self`:

    require 'json/add/regexp'
    puts /foo/.to_json

Output:

    {"json_class":"Regexp","o":0,"s":"foo"}

    # File json/lib/json/add/regexp.rb, line 45
    def to_json(*args)
      as_json.to_json(*args)
    end