Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
ohler55/ojg: Optimized JSON for Go

ohler55/ojg: Optimized JSON for Go

11 hours ago

{}j</a> gem

CI</a> !Gem !Gem TideLift</a>

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 and json docs.

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

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. + 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.

Chat with me