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.


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'

Further Reading

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

  • Options for parse and dump options.

  • Modes for details on modes for strict JSON compliance, mimicing the JSON gem, and mimicing Rails and ActiveSupport behavior.

  • JsonGem includes more details on json gem compatibility and use.

  • Rails includes more details on Rails and ActiveSupport compatibility and use.

  • Custom includes more details on Custom mode.

  • Encoding describes the :object encoding format.

  • Compatibility lists current compatibility with Rubys and Rails.

  • Advanced for fast parser and marshalling features.

  • Security for security considerations.



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

Performance Comparisons

Links of Interest