Popularity
8.3
Stable
Activity
7.1
-
3,083
39
243

Description

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.

Please check out issue #364 and help pick or suggest a image to represent Oj.

Programming language: C
License: MIT License
Tags: JSON     Parsers     Serialization    
Latest version: v3.13.23

Oj alternatives and similar gems

Based on the "Parsers" category.
Alternatively, view Oj alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Oj or a related project?

Add another 'Parsers' Gem

README

{}j gem

Build Status Gem Gem SemVer compatibility TideLift

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.

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'

Rails and json quickstart

See the Quickstart sections of the [Rails](pages/Rails.md) and [json](pages/JsonGem.md) 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}](pages/Options.md) for parse and dump options.
  • [{file:Modes.md}](pages/Modes.md) for details on modes for strict JSON compliance, mimicking the JSON gem, and mimicking Rails and ActiveSupport behavior.
  • [{file:JsonGem.md}](pages/JsonGem.md) includes more details on json gem compatibility and use.
  • [{file:Rails.md}](pages/Rails.md) includes more details on Rails and ActiveSupport compatibility and use.
  • [{file:Custom.md}](pages/Custom.md) includes more details on Custom mode.
  • [{file:Encoding.md}](pages/Encoding.md) describes the :object encoding format.
  • [{file:Compatibility.md}](pages/Compatibility.md) lists current compatibility with Rubys and Rails.
  • [{file:Advanced.md}](pages/Advanced.md) for fast parser and marshalling features.
  • [{file:Security.md}](pages/Security.md) for security considerations.

Releases

See [{file:CHANGELOG.md}](CHANGELOG.md) and [{file:RELEASE_NOTES.md}](RELEASE_NOTES.md)

Links

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

Performance Comparisons

Links of Interest

Contributing

  • Provide a Pull Request off the develop branch.
  • Report a bug
  • Suggest an idea
  • Code is now formatted with the clang-format tool with the configuration file in the root of the repo.