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'
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.
-
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
-
Piper Push Cache, push JSON to browsers: http://www.piperpushcache.com