Optimized JSON
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.
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
gem install oj
or in Bundler:
gem 'oj'
See the Quickstart sections of the Rails and json docs.
Code which uses multi_json
will automatically prefer Oj if it is installed.
Get supported Oj with a Tidelift Subscription. Security updates are supported.
For more details on options, modes, advanced features, and more follow these
links.
See {file:CHANGELOG.md} and {file:RELEASE_NOTES.md}
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.
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.
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
develop
branch.