Oj

# gem¶ ↑

A fast JSON parser and Object marshaller as a Ruby gem.

Version 3.0 is out! 3.0 provides better json gem and Rails compatibility. It also provides additional optimization options.

## Using¶ ↑

    require 'oj'

    h = { 'one' => 1, 'array' => [ true, false ] }
    json = Oj.dump(h)

    # json =
    # {
    #   "one":1,
    #   "array":[
    #     true,
    #     false
    #   ]
    # }

    h2 = Oj.load(json)
    puts "Same? #{h == h2}"
    # true

## Installation¶ ↑

    gem install oj

or in Bundler:

    gem 'oj'

## Support¶ ↑

Get supported Oj with a Tidelift Subscription.

## Further Reading¶ ↑

For more details on options, modes, advanced features, and more follow these links.

- {file:Options.md} for parse and dump options.

- {file:Modes.md} for details on modes for strict JSON compliance, mimicing the JSON gem, and mimicing Rails and ActiveSupport behavior.

- {file:JsonGem.md} includes more details on json gem compatibility and use.

- {file:Rails.md} includes more details on Rails and ActiveSupport compatibility and use.

- {file:Custom.md} includes more details on Custom mode.

- {file:Encoding.md} describes the :object encoding format.

- {file:Compatibility.md} lists current compatibility with Rubys and Rails.

- {file:Advanced.md} for fast parser and marshalling features.

- {file:Security.md} for security considerations.

## Releases¶ ↑

See {file:CHANGELOG.md}

## Links¶ ↑

- Documentation: www.ohler.com/oj/doc, rubydoc.info/gems/oj

- GitHub repo: github.com/ohler55/oj

- RubyGems repo: rubygems.org/gems/oj

Follow @peterohler on Twitter for announcements and news about the Oj gem.

#### Performance Comparisons¶ ↑

- Oj Strict Mode Performance compares Oj strict mode parser performance to other JSON parsers.

- Oj Compat Mode Performance compares Oj compat mode parser performance to other JSON parsers.

- Oj Object Mode Performance compares Oj object mode parser performance to other marshallers.

- Oj Callback Performance compares Oj callback parser performance to other JSON parsers.

#### Links of Interest¶ ↑

- Fast XML parser and marshaller on RubyGems: rubygems.org/gems/ox

- Fast XML parser and marshaller on GitHub: github.com/ohler55/ox

- Need for Speed for an overview of how Oj::Doc was designed.

- OjC, a C JSON parser: www.ohler.com/ojc also at github.com/ohler55/ojc

- Piper Push Cache, push JSON to browsers: www.piperpushcache.com