[](https://github.com/ohler55/oj/actions/workflows/CI.yml)   [
!Gem
!Gem

A fast JSON parser and Object marshaller as a Ruby gem.
Version 3.13 is out with a much faster parser (Oj::Parser) and option isolation.
``ruby
require 'oj'
h = { 'one' => 1, 'array' => [ true, false ] }
json = Oj.dump(h)
h2 = Oj.load(json)
puts "Same? #{h == h2}"
Installation
`
gem install oj
`or in Bundler:
`
gem 'oj'
`Rails and json quickstart
See the Quickstart sections of the Rails and json docs.
multi_json
Code which uses multi_json
will automatically prefer Oj if it is installed.
Support
Get supported Oj with a Tidelift Subscription. Security updates are supported.
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, mimicking the JSON gem, and mimicking 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.
- {file:InstallOptions.md} for install option.
Releases
See {file:CHANGELOG.md} and {file:RELEASE_NOTES.md}
Links
- Documentation: http://www.ohler.com/oj/doc, http://rubydoc.info/gems/oj
- GitHub repo: https://github.com/ohler55/oj
- RubyGems repo: https://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: https://rubygems.org/gems/ox
- Fast XML parser and marshaller on GitHub: https://github.com/ohler55/ox
- Need for Speed for an overview of how Oj::Doc was designed.
- OjC, a C JSON parser: https://www.ohler.com/ojc also at https://github.com/ohler55/ojc
- Agoo, a high performance Ruby web server supporting GraphQL on GitHub: https://github.com/ohler55/agoo
- Agoo-C, a high performance C web server supporting GraphQL on GitHub: https://github.com/ohler55/agoo-c
- oj-introspect, an example of creating an Oj parser extension in C: https://github.com/meinac/oj-introspect
#### Contributing
+ Provide a Pull Request off the
develop` branch.